[技术问答] N76E003串口收发问题

[复制链接]
1615|8
 楼主| gongyuqiu 发表于 2019-4-7 22:38 | 显示全部楼层 |阅读模式
void main (void)
{


    InitialUART0_Timer1(9600);           //UART0 Baudrate initial,T1M=0,SMOD=0
    while(1){
                        UINT8 c;
                        c = Receive_Data_From_UART0();
                        if (c == 0x02){
    Send_Data_To_UART0(0x55);}

                }
       
               
}
收了02,发送的是00,而且不管上位机发送什么都会自动发个00,这问题出在哪
请叫我树人 发表于 2019-4-8 08:27 | 显示全部楼层
我帮你顶住啊!!!!!
tianxj01 发表于 2019-4-8 09:15 | 显示全部楼层
你只出了主函数,2个主要收发函数都没贴,鬼知道你出了什么问题。
吧Receive_Data_From_UART0();和Send_Data_To_UART0();贴出来。
 楼主| gongyuqiu 发表于 2019-4-8 13:27 | 显示全部楼层
tianxj01 发表于 2019-4-8 09:15
你只出了主函数,2个主要收发函数都没贴,鬼知道你出了什么问题。
吧Receive_Data_From_UART0();和Send_Dat ...

收发就是用的通用里定义好的啊,这个应该没问题吧。。。
UINT8 Receive_Data_From_UART0(void)
{
    UINT8 c;
    while (!RI);
    c = SBUF;
    RI = 0;
    return (c);
}

void Send_Data_To_UART0 (UINT8 c)
{
    TI = 0;
    SBUF = c;
    while(TI==0);
}
tianxj01 发表于 2019-4-8 14:55 | 显示全部楼层
gongyuqiu 发表于 2019-4-8 13:27
收发就是用的通用里定义好的啊,这个应该没问题吧。。。
UINT8 Receive_Data_From_UART0(void)
{

看现有的,好像没错,那么给你个建议,先用官方的BSP里面的UART0。
直接编译后,串口助手是不是能收到0x55。(BSPV1.0.6)
然后如果正确,在解决接受的问题。如果不对,检查串口助手设置。
 楼主| gongyuqiu 发表于 2019-4-8 15:16 | 显示全部楼层
tianxj01 发表于 2019-4-8 14:55
看现有的,好像没错,那么给你个建议,先用官方的BSP里面的UART0。
直接编译后,串口助手是不是能收到0x5 ...

只发送时没问题,可以接收到0x55.
加了接收就出问题了。。
HARRY007 发表于 2019-4-9 08:20 | 显示全部楼层
这是8051内核?
21mengnan 发表于 2019-4-9 22:04 | 显示全部楼层
这个版块有个贴说这个问题的,你找找。
21mengnan 发表于 2019-4-9 22:04 | 显示全部楼层
是说库函数有个地方需要修改一句。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部