电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
STM32F103 USART发送数据SR寄存器中TXE和TC标志位都不置位
已解决
73482
个问题
已帮助
5993
位优秀工程师
STM32F103 USART发送数据SR寄存器中TXE和TC标志位都不置位
有花堪折
2019-08-12
浏览量:1990
STM32F103 USART发送数据本来设置为无校验,数据发送一直没问题,现在需要设置为偶校验,结果把寄存器配置为偶校验后,开机第一次向DR寄存器写入数据时TXE和TC标志位都在置位状态,写入第一个字节数据后,两个标志位就都变为0了,再也不置位了,请问各位大佬这到底是是什么原因啊,我觉得是数据一直没发出去,但是不知道怎么解决,求大佬们教教我。
这是发送代码
ENUM_DEVICE_ERROR PAL_RS485WriteByte(struct dal_port_type* typeuint8 byte)
{
uint32 index;
delayTime = RS485_Send_Delay_Count;
OSSchedLock();
RS485_Send_En;
while (!(UART4->SR & USART_FLAG_TXE));
UART4->DR = (byte & (uint16_t)0x01FF);
for(index = 0; index < delayTime;index++);
RS485_Rev_En;
OSSchedUnlock();
return DEVICE_OK;
}
在While循环里一直出不去了
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答
数量:
1
apleilx
应该是控制寄存器的 UEN或者TXEN位没有开起来,也有可能是U4时钟没打开,调试监控看下对应的寄存器位。
发布于
2019-08-12
举报
评论 0
0
0
发布
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
STM32F103 USART发送数据SR寄存器中TXE和TC标志位都不置位
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: