串口如何发送接受数据

[复制链接]
3642|31
 楼主| djz1992 发表于 2016-2-25 08:49 | 显示全部楼层 |阅读模式
用串口发送和接受数据,比如我需要发一个2201234这样的数,应该怎么发?
0x22、0x01、0x23、0x04这样分开发吗?还是发字符“2201234”,还是字符串“2”、“2”、“0”、“1”、“2”、“3”、“4”?
UARTCharPut(UART0_BASE,a);        UARTCharGet(UART0_BASE);
UARTCharPutNonBlocking();UARTCharGetNonBlocking();
这几个函数有相关代码例程吗?
dirtwillfly 发表于 2016-2-25 10:58 | 显示全部楼层
一般每一位按一个字符发送就可以。当然,你也可以使用另外两种方式方法,具体以你定义的串口通讯协议为主,一般每位按一个字符方便点
aerwa 发表于 2016-2-25 12:57 来自手机 | 显示全部楼层
楼上说的对,我是发ascii码,每个字节表示一位,用数组发送和接收,我觉得你还是做套这样的接口,以后ABCDEF处理也方便。
vivilzb1985 发表于 2016-2-25 14:24 | 显示全部楼层
这个需要按照ASII码发送的啦
FireRiver9 发表于 2016-2-25 20:02 | 显示全部楼层
每位按一个字符发送
尤彼卡 发表于 2016-2-25 20:31 | 显示全部楼层
首先需要对串口初始化,配置波特率,波特率和时钟强相关。
然后就可以发送接收了,发送接收分为中断和轮询。
发送时就是向一个寄存器写入数据,mcu会自动将寄存器的数据送入发送缓冲区,mcu自动将缓冲区的数据通过tx线编程电平发送出去。
接收也是一样,外部送来的数据mcu自动转化为数字信号存放在接收缓冲区,将第一个数据依次送入接收寄存器,如果中断使能会有中断,在中断里读取接收寄存器的数据

评分

参与人数 1威望 +3 收起 理由
djz1992 + 3 很给力!谢谢师傅

查看全部评分

cemaj 发表于 2016-2-25 22:43 | 显示全部楼层
使用printf这个
cemaj 发表于 2016-2-25 22:44 | 显示全部楼层
配置成串口1就行
robter 发表于 2016-2-26 10:47 | 显示全部楼层
看你收发的目的,数字、ASCII码都可以的
309030 发表于 2016-2-27 21:54 | 显示全部楼层
关键是串口初始化,配置波特率要配置好
pmp 发表于 2016-2-28 23:11 | 显示全部楼层
这个都是自己写的程序
pmp 发表于 2016-2-28 23:12 | 显示全部楼层
或者移植别人写过的程序也行。
lihuami 发表于 2016-2-28 23:26 | 显示全部楼层
这个自带的例程有的。
cehuafan 发表于 2016-2-29 11:15 | 显示全部楼层
应该是发送字符串
cehuafan 发表于 2016-2-29 11:15 | 显示全部楼层
asicII码才能接收到你要的效果。
cehuafan 发表于 2016-2-29 11:18 | 显示全部楼层
printf(’222222‘);
 楼主| djz1992 发表于 2016-2-29 13:22 | 显示全部楼层
cehuafan 发表于 2016-2-29 11:18
printf(’222222‘);

我现在有四个串口都需要使用,用printf来写,怎么来确定用哪个串口发出去呢?
 楼主| djz1992 发表于 2016-2-29 13:26 | 显示全部楼层
尤彼卡 发表于 2016-2-25 20:31
首先需要对串口初始化,配置波特率,波特率和时钟强相关。
然后就可以发送接收了,发送接收分为中断和轮询 ...

数据缓冲区可以存多少数据呢?如果我用查询语句在main里查询是否有接收数据,来数据的时候程序正在别的地方,寄存器的数据会不会还没接收就被新的数据覆盖掉?
听师傅你的原文“外部送来的数据mcu自动转化为数字信号存放在接收缓冲区,将第一个数据依次送入接收寄存器”,是不是指第一个数据不接收,后面的数据都会保存在缓冲区?不会有丢失是吗
 楼主| djz1992 发表于 2016-2-29 13:29 | 显示全部楼层
aerwa 发表于 2016-2-25 12:57
楼上说的对,我是发ascii码,每个字节表示一位,用数组发送和接收,我觉得你还是做套这样的接口,以后ABCDE ...

用ASCII该怎么写?0发送就写0x30吗?
10299823 发表于 2016-2-29 16:50 | 显示全部楼层
这个看你的个人习惯了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

620

帖子

5

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