STM32
Jeff-Chen
这个作者很懒,什么都没留下…
展开
-
rt-thread串口波特率921600溢出错误
STM32F103C8T6加rt-thread操作系统后,频繁出现串口溢出错误进入中断时拉高IO,执行完后再拉低。进入溢出错误时翻转另外一个IO的电平。发现串口接收中断间隔变长了,正常间隔9us,出现溢出错误时两个数据间隔去到18.9us。中断里就判断标志读取数据,不可能是中断处理耗时造成的,初步怀疑是线程切换时中断来了,没有及时进入中断函数,从而造成溢出错误。难道加操作系统不能使用这么高的波特率...原创 2021-02-02 09:47:59 · 1517 阅读 · 0 评论 -
STM32 HAL 硬件I2C
STM32 HAL 硬件I2C使用记录以前听说硬件I2C有BUG,一直用的都是IO模拟,现在试了下硬件I2C没问题了,在此分享下I2C配置查看生成的代码在此之前,网上最多问题是使用I2C时,程序一直返回BUSY,导致该问题的原因是程序没有复位I2C。使用1.5版本的STM32Cube IDE生成的代码已经调用复位了I2C使用I2C读取TMP103温度传感器直接使用库函数HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c,原创 2020-12-03 14:30:59 · 1907 阅读 · 0 评论 -
STM32 HAL ADC DMA采集4个通道电压
1、选择开启的通道2、参数设置数据右对齐,连续转换模式开,扫描模式会在设置number of conversion后才可以设置为Enable设置扫描的顺序rank,设置采样率3、DMA设置DMA模式设置成循环模式,数据宽度设置成半字4、中断设置5、DMA中断函数处理判断是否为DMA传输完成中断,然后关闭ADC,设置标志在主函数中处理数据if(__HAL_DMA_GET_IT_SOURCE(&hdma_adc1,DMA_IT_TC) == SET){adc_sta = 1;原创 2020-11-25 15:31:46 · 1260 阅读 · 0 评论 -
SPI DMA发送接收数据
SPI配置Data size:16bits,即传输16bitData size:8bits,即传输8bit当使用DMA来传输时,除了修改Data size,还需修改DMA相关内容传输16bit:Data width设置为half word传输8bit: Data width设置为byte最后调用 函数即可HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8原创 2020-10-21 17:45:37 · 3412 阅读 · 0 评论 -
F030 使用独立看门狗不停复位问题解决方法
独立看门狗配置配置配置按照这样配置生成的代码使用时看门狗会复位,喂狗了没有用在初始化看门狗后面加了句开启独立看门狗问题就解决了MX_IWDG_Init();__HAL_IWDG_START(&hiwdg);原创 2020-09-01 19:10:25 · 1320 阅读 · 1 评论 -
LWIP 实现ping功能
https://blog.csdn.net/qq_44641006/article/details/89813354转载 2020-03-12 11:28:17 · 2400 阅读 · 0 评论 -
LWIP 实现热插拔
参考连接https://blog.csdn.net/hustwf/article/details/89187833在参考连接基础上增加自己的修改,仅在此做记录积累1、cube 上配置好后打开void MX_LWIP_Init(void)函数,在最下面添加一下代码2、设置LWIP_NETIF_LINK_CALLBACK,实现void ethernetif_notify_conn_change...原创 2020-03-12 11:21:50 · 4682 阅读 · 11 评论