|
发表于 2022-11-24 22:57:13
|
显示全部楼层
本帖最后由 桃花飞舞 于 2022-11-24 22:58 编辑
看到没人回帖,虽然不能解决你的问题,
我对串口的看法,
rs232串口工具和单片机的接法tx 接到rx rx 接到tx ,
剩下的就是初始化串口,和 字符发送函数 也就是把数据写到SBUF这个寄存器,等待发送完成。
- /***********************************************
- 函数名称:Uart0_Init
- 功 能:串口0初始化函数
- 入口参数:无
- 返 回 值:无
- 备 注:以下的函数和宏定义,请参考N76E003.H文件中的注释
- ************************************************/
- void Uart0_Init(void)
- {
- SCON=0x50; //0101 0000 模式1: 1 位起始位; 8 位数据; 1 位停止位;允许接收
- ClrBits(TMOD,T1_GATE|T1_CT|T1_M0);
- SetBits(TMOD,T1_M1); //定时器1工作于8位自动重装模式
- SetBits(PCON,SMOD); //波特率加倍
- SetBits(CKCON,T1M); //定时器1时钟选择系统时钟
- ClrBits(T3CON,BRCK); //串口0选择定时器1做为波特率发生器
- TH1=256 - (1000000/9600+1); //波特率9600 16MHz
- TR1=1; //启动定时器1
- P0_Quasi_Mode(PIN_6|PIN_7); //将P06 P07 设置为准双向口
- }
复制代码
字符发送函数
- /***********************************************
- *函数名称:Uart0_SendChar
- *功 能:串口0发送单个字符函数
- *入口参数:Udat:欲发送的数据
- *返 回 值:无
- *备 注:无
- ************************************************/
- void Uart0_SendChar(unsigned char Udat)
- {
- SBUF=Udat; //将要发送的数据放入串口数据缓冲区
- while(!TI); //等待发送完成
- TI=0; //清零TI发送完成标记
- }
复制代码
把字符发送函数放到主函数里面调用,这样就可以发送数据了 |
|