HAL库驱动中,由于某些外设的驱动需要使用超时判断(比如I2C、SPI、SDIO等),需要精确延时(精度为1ms),使用的是SysTick,但是在操作系统里面,我们需要使用SysTick来提供系统时基,那么就冲突了,怎么办?答案是利用DWT重新编写HAL库的相关延时和超时函数HAL_InitTick ...
分类:
其他好文 时间:
2019-01-22 17:37:40
阅读次数:
245
资源链接:https://pan.baidu.com/s/13xNGYTbW8wtE4pZQHi95qA 本套书籍以ST公司的STM32F767为目标芯片,详细介绍了STM32F7的特点、片内外资源的使用,并辅以65个例程,由浅入深地介绍了STM32F7的使用。所有例程都经过精心编写,从原理开始介绍,到代码编写、下载验证,一步步教读者如何实现。所有源码都配有详细注释,且经过严格测试。HAL库版不同于
分类:
其他好文 时间:
2018-11-28 12:14:43
阅读次数:
884
DMA_FLAG_TCIF0_4就是指DMA的通道0和通道4,DMA_FLAG_TCIF1_5就是指DMA的通道1和通道5,DMA_FLAG_TCIF2_6就是指DMA的通道2和通道6,DMA_FLAG_TCIF3_7就是指DMA的通道3和通道7。 所以在STM32F429中,使用DMA进行串口发送 ...
分类:
其他好文 时间:
2018-11-28 12:11:55
阅读次数:
2496
最近做了个USB跟上位机的通信,需要软件对MCU进行复位,复位后如果USB没有拔插,PC就不会重新枚举USB为了解决这个问题,我做了软件复位跟,软件模拟USB拔插。 这里我用的是HAL库的软件复位,复位前先把中断关掉,再复位,代码如下: 至于怎么实现模拟USB拔插,则只需要在USB初始化前把PA12 ...
分类:
其他好文 时间:
2018-10-29 20:10:57
阅读次数:
278
参考传送门 关于IIC的原理这里我就不多说了,网上有很多很好的解析,如果要看我个人对IIC的理解的话,可以翻看我前几篇文章,这里主要讲一下怎样利用STM32CubeMx实现IIC的通讯,经过个人实践,感觉HAL库的硬件IIC要比标准库的稳定。好了,下面就从STM32CubeMx 配置开始一步步实现I ...
分类:
其他好文 时间:
2018-09-14 17:16:04
阅读次数:
1271
/* 第1个参数为I2C操作句柄 第2个参数为从机设备地址 第3个参数为从机寄存器地址 第4个参数为从机寄存器地址长度 第5个参数为发送的数据的起始地址 第6个参数为传输数据的大小 第7个参数为操作超时时间 */HAL_I2C_Mem_Write(&hi2c2,salve_add,0,0,PA_BU ...
分类:
其他好文 时间:
2018-08-31 17:21:56
阅读次数:
1385
STM32的标准库,跟HAL库都是很实用的, 在使用SPI库的过程中一定要注意时序的问题。 我在调试SPI过程中,调试了两个IC,都是用HAL库, 第一个IC没出问题,第二个IC出现了第一次发送数据不成功问题, 不管发什么数据,交互结果都是0x00, 我一开始用的是HAL_SPI_TransmitR ...
分类:
其他好文 时间:
2018-08-27 21:40:22
阅读次数:
1477
1.建立工程 2.核心:添加新文件usar_fputc.c (名字随便自己命名),把文件添加到项目中去 #include "stdio.h" #include "stm32f1xx_hal.h" extern UART_HandleTypeDef huart1; uint8_t ch; uint8_ ...
分类:
其他好文 时间:
2018-08-23 13:11:15
阅读次数:
2289
参考资料:1、ST HAL库官网资料 2、https://blog.csdn.net/u014470361/article/details/79206352#comments 一、STM32CubeMX配置外部时钟 注意在进行外部时钟配置时,即“High Speed Clock”和“Low Spee ...
分类:
其他好文 时间:
2018-08-15 19:33:42
阅读次数:
304
很多时候,我们使用串口或USB接收数据时,往往不知道PC端会发多长的数据下来, 为了解决这个不定数据接收问题,在此各提供一个解决思路。 串口数据不定接收: 由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据, 由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的 ...
分类:
其他好文 时间:
2018-08-03 18:48:24
阅读次数:
490