STM32
--*--king--*--
这个作者很懒,什么都没留下…
展开
-
stm32 USB虚拟多个串口设备
参考https://blog.csdn.net/manshq163com/article/details/83184003问题1:两个串口无法同时发送数据;一个正常,一个乱码;解决:修改fifo大小问题2:两个串口同时打开才可以正常通信原因:usb缓冲区数据未被上位机读走时,缓冲区满后会溢出,导致无法hcdc->TxState未清除。目前trick的方法是直接获取上位机串口开关状态,如果关闭不发送数据。...原创 2020-11-19 11:29:08 · 2910 阅读 · 1 评论 -
LL库串口+DMA
由于工作中测试发现串口传输数据延时有点大,传输35个字节,115200,理论值应该在3ms左右,然而实际测试却有40ms,所以首先想到会不会是hal库执行效率低得原因,所以采用LL库,但是LL库的资料少之又少啊!自己做个记录。 使用cubemx可以直接生产LL库的代码(我的工程里是hal库和LL库混用的),LL库串口硬件初始化部分会自动生成,但是传输地址及DMA传输长度...原创 2020-04-22 18:10:07 · 6194 阅读 · 2 评论 -
stm32 IAP跳转后无法进去中断
基于stm32f405MCU上,利用SPI通信总线对从机进行IAP升级。问题描述:在主机给从机进行升级时,当boot loader接收完固件跳转到APP中,程序正常运行,串口数据正常打印,但是无法进入中断。重新启动后,正常进入中断,也就是从bootloader直接跳转过去正常得,所以定位原因在bootloader中。跳转之前也已经关闭全局中断(__disable_irq()),跳转后,app一...原创 2019-04-30 10:35:31 · 4144 阅读 · 2 评论 -
spi DMA 复位后主机接收上一帧数据
由于硬件接口有限,需要用spi总线进行设备之间进行通信,我使用的HAL库,对于实现spi主从通信我将在另一篇文章里描述一下配置。该文章主要说明SPI复位问题。问题1:由于spi在进行通信时,有时会受到干扰,或者clock错位,之后便一直无法复位,此时需要软件进行复位。错误示例软件复位也比较简单就是重新初始化:/**********************************...原创 2019-05-30 10:30:00 · 1546 阅读 · 8 评论 -
HAL SPI 主从模式通信
一般情况工作中使用SPI主模式比较多,也没什么难度,这篇文章主要说一下关于SPI从模式的相关配置。SPI初始化并没有什么其他不同,仅仅是将模式由主模式改为从模式:/* SPI2 init function */static void MX_SPI2_Init(void){ /* SPI2 parameter configuration*/ hspi2.Instance = ...原创 2019-05-30 11:34:57 · 2349 阅读 · 0 评论