环亚国际娱乐平台: [技术问答] 赛元单片机串口能用么?SC92F7251_SOP16

永利游戏开户直营
114|3
楼主
这个字符串初始化好怪异,我定义并初始化一个字符串:uchar str[] = "uchar str: hello world test.\r\n";
使用SendString(str);输出的数据都是0,若修改str[],再打印字符串就能正常显示。
包括串口接收,我的串口功能是收到什么就发什么,但第一次通信赛元接收不到数据无输出,第二次开始才能发送本次已接收数据。
第一次接触赛元单片机,看不出哪儿有毛病,是硬件缺陷么?
以下是我的代码:
1、串口中断
void UartInt(void) interrupt 4
{
        static uchar rx_counter = 0;
        if(TI)
        {
                TI = 0;
                UartSendFlag = 1;        
        }
        if(RI)
        {
                RI = 0;        
                UartReceiveFlag = 1;
                rx_buf[rx_counter++] = SBUF;
                if((rx_buf[rx_counter-1]==13)||(rx_counter)==RX_LEN)                //  \r 结束符
                {
                        command = 1;                //  收到指令待处理
                        rx_buf[rx_counter] = 0;
                        rx_counter = 0;
                }
        }
}

2、串口发送
void SendByte(uchar tx_data)
{
                SBUF = tx_data;
                while(!UartSendFlag);
                UartSendFlag = 0;
}
void SendString(uchar *s)
{
    while (*s)              //Check the end of the string
      SendByte(*s++);     //Send current char and increment string ptr
}


3、主函数
void main(void)
{
    uchar str[] = "uchar str: hello world test.\r\n";  // code存放在ROM不可修改,const存放在RAM不可修改

  MyIO_Init();
  Uart0_Init();
  BTM_Init();
  while(1)
  {
        if(command)
           {
              SendString(rx_buf);
              command = 0;
           }
         if(BTM_Counter==1000)
           {
              SendString(str);
              BTM_Counter = 0;
           }

  }
}


已检测调试,串口可以收发,故串口配置没问题,这里就不贴代码了。

沙发
| 2020-7-31 15:24 | 只看该作者
您好,附件是一个UART接收到什么就发送什么的程序,主频选择12M,波特率是9600,您可以烧录这个程序试一下看看是否正常。

7251串口调试.rar

408.68 KB, 下载次数: 4

评论

赛元MCU3 2020-8-3 18:13 回复TA
@21HU :单看你这个程序没看出来什么问题,方便的话您可以把程序打包发出来我们试试看。 
21HU 2020-8-1 08:47 回复TA
这个是你们官网的demo程序,我就是在这个的基础上修改的。 此程序只适用于每次收发一个字符 我需要的功能是收完一组字符串再转发出来。问题已反应在开头。 
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
永利游戏开户直营 彩虹app下载 博乐彩票现金直营网 女神国际北京PK10网址 永利游戏开户直营
天下娱乐网 大发网址开户 pk彩票手机下载 618ek娱乐平台 pc蛋蛋幸运28外挂
扎金花游戏大厅 申博太阳城官方现金直营网登入 太阳城亚洲现金网sunbet官网 威斯汀云南时时彩开奖直播 凤凰卫视娱乐
sa36沙龙国际网上娱乐登入 端丰国际网址 时时彩棋牌下载登入 XTD旗舰馆官网直营网游戏 澳门美高梅网上赌城