标题: N76E003AT20 MCU 串口调试助手里,发送数字时一直显示FF,是怎么回事? [打印本页]

作者: 丶流年    时间: 2020-4-14 20:34
标题: N76E003AT20 MCU 串口调试助手里,发送数字时一直显示FF,是怎么回事?
我用N76E003AT20单片机通过串口0发送数字1到PC,PC端一直显示FF,这是为什么?下面是我的代码。
#include "n76e003.h"
#include "stdio.h"
#define uint32 unsigned int


sbit s1 = P0^0;
void UART0_Init(uint32 Baud)
{
   P0M1=0x84;    P0M2=0x7B;
   P1M1=0x00;    P1M2=0xFF;
   EA=1;
   ES=1;
   SCON = 0x52;                //模式1                   REN=1  TI=1
   TMOD|= 0x20;                //定时器1模式2
   PCON|= 0x80;                //使能双波特率
   CKCON|= 0x10;                //定时器1为系统时钟        T1M=1
   T3CON&= 0xDF;                //选择定时器1  

   TH1=256-(1037500/Baud+1);
   TR1=1;                                //定时器1启动
}  


int main()
{
   UART0_Init(9600);
   s1=1;

while(1)
        {
          if(s1==0)
          {printf("%d\n",1);}

        }
}




51hei图片20200414203115.png (83.86 KB, 下载次数: 106)

51hei图片20200414203115.png

作者: xxpp2011    时间: 2020-4-14 22:22
你这样写实际是输出变量名为1的变量存的数据,没有赋值时默认为FF,实际上定义变量名也不能以数字开头。
1.
printf(“1\n ”);
2.
int a=1;
printf (“%d\n”,a);
作者: zhai1995    时间: 2020-4-15 10:17
是取变量1地址里的数据




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1