串口数据读取问题。

[复制链接]
3356|13
 楼主| yeadring 发表于 2011-6-12 17:17 | 显示全部楼层 |阅读模式
本帖最后由 yeadring 于 2011-6-12 17:19 编辑

要用51单片机对一个血氧模块的数据用串口进行读取,并在数码管或者1602里上显示血氧饱和度值和脉率值,初始化串口之后就不知道如何下手好了,虚心请教各位大侠。如果有参考程序(c语言)就好了。说实在的,对C编程不熟悉。

串口通讯设置:
数据格式:
             起始位 + 8 位数据位 + 1位停止位, 奇校验;
波特率:
4800 baud
115200 baud
模块向上位机发送的数据:
发送数据:5字节格式,每秒钟60个包,第7位为同步位。

字节        位        数据意义
1        0~3             信号强度(0~8),表示脉搏搏动的强度
        4             1=搜索时间太长,0=OK
        5             1=血氧饱和度下降,0=OK
        6             1=脉搏声音指示
        7             同步位,为1
2        0~6             体积描记图(表示脉搏波形)
        7             同步位,为0
3        0~3             棒图(表示脉搏跳动情况)
        4             1=探头有错误,0=OK
        5             1=搜索脉搏,0=OK
        6             脉率第7位
        7             同步位,为0
4        0~6             脉率(前6位)
        7             同步位,为0
5        0~6             血氧饱和度
        7             同步位,为0
NE5532 发表于 2011-6-12 18:37 | 显示全部楼层
你不是C语言不熟,你是压根就不知道单片机咋回事。先看下串口模块的工作原理。
 楼主| yeadring 发表于 2011-6-13 01:46 | 显示全部楼层
2# NE5532 额,不知道是不是我不够敏感吧,资料看了较多,编起来还是相当吃力,看起来你是经验丰富的啊,可指导下不,不要跟我说回去好好研究这些东西。。。
NE5532 发表于 2011-6-13 07:47 | 显示全部楼层
单片机串口就是通过一堆寄存器来配置其工作状态,然后就可以收发数据了,你先要根据自己用的单片机(不同机型间可能有差别)看完资料,然后跟着需要配寄存器,所以我说你写不写C没关系呢,配寄存器和语言无关。
程序匠人 发表于 2011-6-13 08:27 | 显示全部楼层
先找一些网上的串口程序做例,研究后再下手。
 楼主| yeadring 发表于 2011-6-13 12:23 | 显示全部楼层
5# 程序匠人 嗯嗯,把数据读出来放在数组里,但因为只需要血氧和脉率的数据,所以我是只要把这个数据提取出来,另存在两个变量里么?要怎么做呢
 楼主| yeadring 发表于 2011-6-13 12:35 | 显示全部楼层
4# NE5532 嗯,一步步写,遇到问题还是比较多。所以比较焦急。呵呵。
xwj 发表于 2011-6-13 12:50 | 显示全部楼层
sysdriver 发表于 2011-6-13 13:16 | 显示全部楼层
唉...
xwj 发表于 2011-6-13 12:50

想都不想,做都不做,只会说,你是这样的意思吗,呵呵.
NE5532 发表于 2011-6-13 14:34 | 显示全部楼层
想都不想,做都不做,只会说,你是这样的意思吗,呵呵.
sysdriver 发表于 2011-6-13 13:16


哈哈,他唉,是唉你木基础还接这个活。你这个帖子进来的都是老鸟了。
 楼主| yeadring 发表于 2011-6-13 15:58 | 显示全部楼层
10# NE5532 呃,拿上来只是为了求教,当然呵呵,各位老鸟,经验丰富,不在乎,但是在你们刚接触单片机的时候不也是遇到过非常多的难题么,不也是一直纠结么,我不是只是在说,我一直都在做,都在想。但是得不出想要的结果,所以只是想看看各位有没有好的建议呀。不好意思,我说多了,我觉得我更应该花时间去补基础和改正程序。
 楼主| yeadring 发表于 2011-6-13 15:59 | 显示全部楼层
谢谢各位的关注。新手是很纠结于这些东西的。请谅解。
程序匠人 发表于 2011-6-13 16:06 | 显示全部楼层
不是老鸟不肯帮你,而是没法帮。因为你的问题是提不出问题。

就一句“我不会做”,这是很让老鸟们犯愁的。

你应当先试着做起来,待到期间遇到具体问题了,先自己思考或通过网络搜索答案。然后再提问。问题越具体,越容易获得帮助。
jack_shine 发表于 2011-6-13 17:22 | 显示全部楼层
lz要多看看基础的东西,网上下点单片机学习视频系统的学习一下,如果经济条件允许的话报个单片机培训班上上,还是很有收获的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

1

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