专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
请问STM32F1的固件库最新且最终版本是多少?
2019-07-14 17:58
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
11984
18
1691
今天调试去年的一个程序,无意间发现固件库使用的是V3.6.1版本,去官网下载发现只有3.5.0版本,没有3.6.1版本,不知道怎么回事。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
lanziji
2019-07-16 06:59
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驱动,能否兼容
原有的标准外设驱动库,还尚未可知。
加载中...
查看其它18个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
一、头文件的修改有两处
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驱动,能否兼容
原有的标准外设驱动库,还尚未可知。
一周热门 更多>