历史上的今天
今天是:2024年11月07日(星期四)
2019年11月07日 | 对于51单片机和arm9开发板串口通信问题的分析
2019-11-07 来源:51hei
距离毕设的时间还剩20天左右,这几天一直忙着做毕设,今天终于将51单片机和串口通信的问题解决了,抽出点时间,写一下遇到的问题。不然,过几天又忘了,记录下来也给后续学习的技术宅能提供一点帮助。
我的串口实验是:ARM9 控制板通过串口发送一个指令,51接受到这个指令后,根据这个指令控制小车的运行方式。(为什么不用arm9直接控制小车而采用51控制小车呢?
答:我的想法是电机驱动这一块直接交付给下一级控制器,程序简单,容易实现,况且通过串口,只需解析一个指令就可以实现)。
1、做此类串口通信一定要记得共地,我采用的方法是直接用5v直流输出引出了两个接口,分别为两个控制板供电,这样的话串口通讯的电压没有一点问题。
2、做串口通讯的一定要搞清楚,你的串口到底那几个没被使用,你可以根据厂家提供的电路原理图查看。选择好你做串口实验的串口号。(记得有些串口驱动移植的时候没有设置为通用串口,你要搞清楚额。)。如果你是在别人移植好的,驱动上做串口应用程序的开发,你要搞清楚,别人的串口名称。因为时间紧张,串口驱动我没有自己移植,我是在厂家移植好的驱动上进行应用程序的开发,所以我就可以在 Linux 根目录下的/dev/查看串口名称。
我的串口名称有/dev/s3c2410_serialX(X=0,1,2).. 因此,编写应用程序的时候一定要注意fd=open(“/dev/此处的串口名称”,XXXXX);
3、我的51板中本来设置好的运行协议是十六进制的数,后来查看说write函数只能写字符,我只好用字符常量代替原来的十六进制协议类。调整后的51板程序思路是:
串口接收到字符数据 f=前进,b=后退,l=左转,r=右转,s=停止。51板的程序弄好以后,我只要通过arm板给51板发送这些字符,51板就能控制小车的运行方式。
4、Arm linux 串口应用程序的开发,跟windows的差不多,基本都是调用api,然后编写,不过相比较windows而言,linux更容易理解一个操作系统,因为只有当你把bootloader ,linux kernel,文件系统,驱动这些都移植过一遍,你就很容易理解一个操作系统的原理,也就不难理解调用api 是则么回事类。 串口应用程序的开发就是对串口结构体进行设置。注意串口设置的时候波特率一定要和你51板设置的波特率一致奥,否则不能通信。然后通过读写函数对串口进行控制。向串口发送指令是通过Write(fd,buf,sizeof(buf)),函数实现的,我就写了一个字符f 然后就可以实现小车的前进了。
5、让我纠结了好长时间的问题。程序写好以后,一定要用arm-linux-gcc交叉编译指令,不能用gcc指令编译,这个编译的程序只能在pc的linux上跑,不然将编译好的可执行程序下载到开发板上是不能运行。另外如果你用arm-linux-gcc编译后生成的可执行文件是a.out文件这个在arm板上也不能运行。必须要用arm-linux-gcc main.c -o myserial这个指令进行编译,生成的myserial可执行程序才能在arm板上运行。程序下载到开发板以后,一定要加上权限 chmod 777 myserial . 然后执行 ./myserial ,你就可以发现你的小车可以前进了。
史海拾趣
|
我的开发板是北京一家公司搞的叫YC2440,和S3C2440差不多 我的电脑主板是昂达N61,没有串口和并口。买了一根USB转串口,一根PCI转并口 调式用的是WIGGER接JTAG,AXD,RO和RW配置应该没问题,但是程序一跑就一直RUNNING IMAGE,这是第一个问题,我 ...… 查看全部问答> |
|
用单片机做过GSM/GPRS的打电话、发短信、TCP/IP数据发送,习惯了AT指挥串口操作 忽然到了wince了,迷茫了,明明简简单单的操作串口的事,怎么到windows这儿就整出这么多事来,什么cellcore、什么tapi、什么RIL、什么拨号 牢骚发完,言归正传。首 ...… 查看全部问答> |
|
请问VxWorks下网络上传的文件和直接拷贝的文件有什么不同吗? 我需要在目标机上放置大量的.DAT数据文件以供程序读取运行,将目标机硬盘接到主机上直接将这些文件拷贝到目标机硬盘上,然后恢复目标机即可正常运行,但是将这些文件直接通过网络ftp上传到目标机硬盘上后,却没能正常的读取这些文件。请问这可能是 ...… 查看全部问答> |
|
我在学校的项目和课程中接触过freescale的s12x单片机、51单片机和MSP430单片机。当初老师对我们说过,MSP430单片机是低功耗便携式设备的不二之选。但MSP430的稳定性不太好,在强磁场或高压复杂环 ...… 查看全部问答> |
|
最近申请了ti的样片,但是感觉自己做板子不划算,所以来论坛求块dsp2812开发板的空pcb 希望能外扩sram和flash,除了电源和地之外的引脚全部引出,最好是经过验证的,先谢谢了… 查看全部问答> |




