完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
是标准外设固件库。
|
|
|
|
|
|
换V3.5.0的吧,可能被人修改过了
|
|
|
|
|
|
建议以官方为主,当然看下英文官网,中文的往往慢一步。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
官网是标准的。
|
|
|
|
|
|
貌似仅仅是更新了文件的license,貌似是将license指向了官网的一个新的网址。其他的没有改变,应该是这样的
|
|
|
|
|
|
3.6.1是这样,但3.6.0就更新比较多了 |
|
|
|
|
|
我用的是3.5的库
|
|
|
|
|
|
我见到的最新的是3.5
|
|
|
|
|
|
3.5的吧,还有更高的吗?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
STM32F103最新3.61版本固件库中,缺省设置是关闭PCE位(奇偶校验位)的输出,这里修改了库函数的头文件。
一、头文件的修改有两处 1. stm32f10x_usart.h 文件中,增加USART_Mode_PCE宏定义。 2. IS_USART_MODE(MODE)的数据范围检查,将0xFFF3修改为0xFBF3。 /** @defgroup USART_Mode * @{ */ #define USART_Mode_Rx ((uint16_t)0x0004) #define USART_Mode_Tx ((uint16_t)0x0008) #define USART_Mode_PCE ((uint16_t)0x0400) #define IS_USART_MODE(MODE) ((((MODE) & (uint16_t)0xFBF3) == 0x00) && ((MODE) != (uint16_t)0x00)) /** * @} */ 二、串口的配置代码, 初始化后,不再重复设置CR1寄存器,代码中添加串口PCE模式即可,如下所示: USART_InitStructure.USART_BaudRate = linecoding.bitrate; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; // 库函数缺省设置是奇偶校验输出关闭 /* set the parity bit*/ switch (linecoding.paritytype) { case 0: USART_InitStructure.USART_Parity = USART_Parity_No; break; case 1: USART_InitStructure.USART_Parity = USART_Parity_Odd; // bit : PCE 奇校验输出打开 USART_InitStructure.USART_Mode = USART_InitStructure.USART_Mode | USART_Mode_PCE; break; case 2: USART_InitStructure.USART_Parity = USART_Parity_Even; // bit : PCE 偶校验输出打开 USART_InitStructure.USART_Mode = USART_InitStructure.USART_Mode | USART_Mode_PCE; break; case 3: // Mark 强制为1 USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_WordLength = USART_WordLength_9b; break; case 4: // Space 强制为0 USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_WordLength = USART_WordLength_9b; break; default : { USART_Config_Default(); return (FALSE); } } 目前ST官方的软件团队,在STM32CubeMX的基础上正在增加对F1系列的支持,至今仍无进展消息, 但若还是按照以往推倒重来的方式,例如F4系列的HAL驱动库,完全颠覆了之前的标准外设驱动库, 是不会吸引到广大应用开发者的。虽然目前 STM32CubeMX 4.5版本生成的F1系列初始化代码, 可以拷贝到工程的C源文件中,配合标准外设驱动库使用,但未来新的F1系列HAL驱动,能否兼容 原有的标准外设驱动库,还尚未可知。 |
|
|
|
|
|
我也在思考这个问题,没找到最新的。
|
|
|
|
|
|
本帖最后由 wjandsq 于 2015-1-12 16:17 编辑
F4的库完整的考虑了9位数据发送,校验位的发送等,F1的库还不完善。例如F4的串口数据类型添加了校验位的定义。 #define UART_PARITY_NONE ((uint32_t)0x00000000) #define UART_PARITY_EVEN ((uint32_t)USART_CR1_PCE) #define UART_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) #define IS_UART_PARITY(PARITY) (((PARITY) == UART_PARITY_NONE) || ((PARITY) == UART_PARITY_EVEN) || ((PARITY) == UART_PARITY_ODD)) |
|
|
|
|
|
F4的HAL驱动库使用宏代替原有的函数,效率提升很多,例如。
#define __GPIOA_CLK_ENABLE() (RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOAEN)) #define __GPIOB_CLK_ENABLE() (RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOBEN)) #define __GPIOC_CLK_ENABLE() (RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOCEN)) #define __GPIOD_CLK_ENABLE() (RCC->AHB1ENR |= (RCC_AHB1ENR_GPIODEN)) #define __GPIOE_CLK_ENABLE() (RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOEEN)) #define __GPIOH_CLK_ENABLE() (RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOHEN)) |
|
|
|
|
|
TrueStudio生成的工程默认就是3.6.1的库。。。
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:04 , Processed in 1.530980 second(s), Total 108, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1654