完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
各位大侠,我在用STM32f103的串口来发送数据,可不知为啥在加上OS_CRItiCAL_ENTER(); OS_CRITICAL_EXIT();来保护数据时在发送时最后一个数总数0xff,去掉OS_CRITICAL_ENTER(); OS_CRITICAL_EXIT();时则发送时就会少一个数据,望各位不吝指教具体程序如下:
uint8_t i; OS_ERR err; CPU_SR_ALLOC(); CPU_TS ts; (void)p_arg; while (DEF_TRUE) /* Task body, always written as an infinite loop. */ { OSTaskSemPend( 0, //óàÔ¶2»»á3¬ê±ò»Ö±Ôúμè′y OS_OPT_PEND_BLOCKING, //èç1ûDÅoÅá¿2»¿éóþíμè′y &ts, //»ñè¡DÅoÅ῱»·¢2¼μÄê±¼ä′á &err); //·μ»Ø′íÎóààDí OS_CRITICAL_ENTER(); //½øèëáù½ç¶Î£¬±üÃa′®¿ú·¢Ëí±»′ò¶Ï Uart5_Init(); //ÿ′η¢Ëíêy¶¼¶Ô′®¿ú½øDD3õê¼»ˉ UART5_TX_ON; //·¢Ëíê1Äü Uart5_Send_char(0x01); Uart5_Send_char(0x03); Uart5_Send_char(0x00); Uart5_Send_char(0x07); Uart5_Send_char(0x00); Uart5_Send_char(0x06); Uart5_Send_char(0x74); Uart5_Send_char(0x09); OS_CRITICAL_EXIT(); |
|
相关推荐
6个回答
|
|
|
已经调通了,是硬件我设置的波特率很低,速度没跟上,软件跑完了,硬件还没传输完,就关闭了发送功能
|
|
|
|
|
|
检查你的Uart5_Send_char函数,是否正常,正常是应该等待发送完成的!!
|
|
|
|
|
|
void Uart5_Send_char(uint8_t ch)
{ while (USART_GetFlagStatus(UART5, USART_FLAG_TXE) == RESET); USART_SendData(UART5, (uint8_t) ch); while (USART_GetFlagStatus(UART5, USART_FLAG_TXE) == RESET); } |
|
|
|
|
|
static void AppTaskLed ( void * p_arg )
{ OS_ERR err; (void)p_arg; while (DEF_TRUE) { /* Task body, always written as an infinite loop. */ Uart5_Init(); UART5_TX_ON; Uart5_Send_char(0x01); Uart5_Send_char(0x03); Uart5_Send_char(0x00); Uart5_Send_char(0x07); Uart5_Send_char(0x00); Uart5_Send_char(0x06); Uart5_Send_char(0x74); Uart5_Send_char(0x09); } } |
|
|
|
|
|
你先试试不用操作系统,不用操作系统ok么?
|
|
|
|
|
|
我也遇到这个问题
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1026 浏览 1 评论
1856 浏览 0 评论
1837 浏览 1 评论
3261 浏览 5 评论
3587 浏览 9 评论
1026浏览 1评论
1853浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1365浏览 1评论
1856浏览 0评论
1181浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 06:54 , Processed in 0.842702 second(s), Total 87, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1093