完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
以下程序用中断接收两个字节时,只接收到第一个,第二个乱码,波特率9600,为什么啊???接收问题?还是接收和发送没有配合好???请帮忙看看
#include "DrvConfig.h" #include "SM39R08A3.h"//"SM39R08A5.h" #include "global.h" #include "absacc.h" #include #include #include #define d_S0RELH 0x03 #define d_S0RELL 0xB8 #define UART_BUFFERSIZE 2 u8 table[UART_BUFFERSIZE]; u8 Byte,UART_Buffer_Size=0,UART_Input_First=0; //=============================================================== //GLOBAL VARIABLE //=============================================================== bit read_flag=0; bit send_flag=0; bit chang_flag=0; /********************************************************************************/ /*******************************串口功能*****************************************/ void init_UART0(void) { S0RELH = d_S0RELH; S0RELL = d_S0RELL; AUX |= 0x80; // BRS = 1 PCON |= 0x80; // SMOD =0,波特率4800 IEN0 |= 0x90; // EA=1, ES0=1, interrupt enable S0CON = 0x50; // mode 1, SM20=0, Revice enable ti=0; } //发送数据 void send_char(unsigned char n_temp0) { send_flag = 1; S0BUF = n_temp0; while(send_flag); { ; } } //向串口发送一个长度为strlen的字符串 void send_str(u8 *str,u16 strlen) { u16 k=0; do { send_char(*(str+k)); k++; } while(k void main(void) { EA=0; init_UART0(); EA=1; while(1) { if(read_flag) { read_flag=0; UART_Buffer_Size =0; if(table[1]=='c') { send_str("serial succeed to recvive 4 byte",33); } send_str(table,2); memset(table,0,2*sizeof(unsigned char)); } } } void serial() interrupt 4 { if(RI) { RI = 0; if( UART_Buffer_Size == 0) { // 如果是第一位 UART_Input_First = 0; } Byte = S0BUF; // 读取串口值 if (UART_Buffer_Size < UART_BUFFERSIZE) { table[UART_Input_First] = Byte; // 保存数据到数组中 ++UART_Buffer_Size; // 等待下一位 ++UART_Input_First; // 更新计数 } else { read_flag=1; //接收完成 } } else { send_flag=0; TI=0; } } |
|
相关推荐
2个回答
|
|
|
解决了,把波特率降到4800,接收函数用switch语句实现
|
|
|
|
|
|
你好?现在这个问题解决没?我的也是这个问题,十六进制能正常显示,但是其他都是乱码,网上有说是波特率的原因,我实验了所有的波特率都不行
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1634 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4741 浏览 0 评论
4231 浏览 9 评论
3824 浏览 16 评论
4400 浏览 1 评论
4213浏览 3评论
2381浏览 0评论
3395浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 17:46 , Processed in 0.614768 second(s), Total 81, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2112