- 博客(6)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 HAL库接收定长字节,而发送不定长的简单解决思路
追踪发现问题是因为接收完成后,HAL库自动关闭中断,然后剩余的中断标志位还在,再次打开中断去接收,会立马进入中断,存储一个上次UARTConfigLEN长度之后的数据,导致包头匹配失败。每次接收一个数据,但是丢包严重,可能没处理好吧,接收完我会打印出来,时间过长了。最近打算做一个简单的串口指令配置一些数据,定长10字节使用HAL库,遇到一些很烦人的问题,简单提供一个思路。使用DMA作为环形缓冲区,加上储存读取位置作为指针,使用空闲中断来处理数据,之后有时间了再写。此方法仅适用于低速,少量数据。
2024-08-06 08:33:56 168
原创 FMD模拟从机IIC,STM模拟主机读取程序
整体思路,8位机读取数据,成功后产生一个SDA低电平,等待STM返回SCL低电平后,立即开始等待START信号(8位机反应比较慢,要么增加STM里面的延时,速度会慢;从机读取完一个字节(自定义为读取指令0x44,配置指令0x88,根据需求自己改),返回一个字节0x44或0x88,接着数据校验和,数据高8位,数据低8位。主机开始,模拟IIC用的就比较多了,基础部分信号产生,应答,发送字节,都是通用的(考虑延时),只需要修改读取函数。8位机速度比较慢,处理的比较简单,所以作为从机阻塞等待时钟或数据超时。
2023-07-05 09:22:06 565
原创 STM32CubeMX的EXTI(外部中断)接口使用注意事项
下意识地就去找EXTI_Init对应的HAL函数,还真有HAL_EXTI_SetConfigLine,里面有RTSR,FTSR,IMR,EMR相关寄存器的操作,然后以为是这样写,但始终觉得不妥。这样在哪设置边沿触发呢?使能了EXIT0和EXIT1的中断,但是我只需要EXIT0,这又是怎么对应的呢?标准库中,初始化一个外部中断,需要先配置中断,在使能中断。Mode = GPIO_MODE_IT_RISING,在这里做出了区别,有点隐蔽啊。关于外部中断使能的函数不见了,查找到中断使能,只有这两句话。
2023-04-10 16:32:54 998
原创 使用PE安装Win11简单教程
在 MBR 模式时(Lagecy ),引导文件和系统文件,可以分别放在两个不同的分区中,也可以放在同一分区。对于 GPT 模式(UEFI),引导文件在 ESP 分区中,MBR为保留分区,系统分区是 C 盘。想使用本地账户,在提示联网页面,按下Shift+F10调出命令提示符,输入C:\Windows\System32\oobe\BypassNRO.cmd,等待重启再次进入联网界面,就出现了“我没有Internet连接”的选项,点击该选项。然后选择引导驱动器,MBR磁盘格式为活动分区,GPT为ESP分区。
2023-04-06 11:17:57 10073 2
原创 总结一下首次使用HAL库STM32f030硬件IIC从机中断收发
硬件为I2C_ADDRESSINGMODE_7BIT时的从机地址时,从机的地址需要左移一位,最低为表示读或者写。从机的HAL库同时配置了接收和发送,从机需要等待随时更新用户配置,接收到用户配置后同时打开用户数据发送中断。使用地址中断,在地址回调函数里面判断收发,在调用对应函数的,可以同时中断收发,地址在下面,写的很详细。好了,发送完成了,然后就是比较坑的了,完成后中断是会被关闭的。在这个函数里面,有接收中断,地址终端,监听中断。手上的项目是一主机,七个从机,从机使用中段收发。这个网上写的很详细。
2022-01-12 14:40:45 8462 34
无符号型减法计算公式,结果不同?
2021-01-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人