历史上的今天
返回首页

历史上的今天

今天是: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  ,你就可以发现你的小车可以前进了。

推荐阅读

史海拾趣

Digital Equipment Corp公司的发展小趣事

2001年,惠普公司与康柏公司宣布合并,DEC作为康柏的一部分也随之并入惠普。这次合并进一步扩大了DEC的业务范围和市场影响力。在合并后,DEC的计算机产品和技术被整合到惠普的产品线中,同时DEC的品牌也逐渐淡出市场。然而,DEC在计算机行业中的贡献和影响力仍然被广泛认可,其技术遗产和创新精神在惠普及其他科技公司中得到了传承和发展。

Caliber公司的发展小趣事

随着电子行业的全球化趋势日益明显,Caliber公司积极实施国际化战略,拓展海外市场。公司通过与国外知名企业的合作,引进先进的技术和管理经验,不断提升自身的竞争力。同时,Caliber还积极参加国际电子展会和论坛,加强与国际同行的交流与合作。这些举措不仅为公司带来了更多的商业机会,也提升了Caliber在国际上的知名度和影响力。

Aptiv公司的发展小趣事

Aptiv一直秉持开放合作的理念,积极与产业链上下游企业开展创新合作。公司与多家科技公司、研究机构以及高校建立了战略合作关系,共同推动自动驾驶技术的研发和应用。通过共享资源、优势互补,Aptiv不仅加快了自身的发展步伐,还为整个电子行业的进步做出了积极贡献。

Equinox公司的发展小趣事

随着科技的发展,Equinox意识到数字化对于提升客户体验的重要性。因此,公司开始投入大量资源建设数字平台,提供在线预约、课程购买、健康管理等服务。这些数字化功能不仅方便了客户,还提高了公司的运营效率。

Allen Avionics Inc公司的发展小趣事

2020年,新冠疫情的爆发给全球健身行业带来了前所未有的挑战。许多健身房因为疫情而被迫关闭,Equinox也不例外。然而,Equinox并没有放弃,而是迅速调整策略,通过线上课程、虚拟健身等方式保持与客户的联系。同时,公司还加强了内部优化和成本控制,以应对疫情带来的经济压力。

DAYA公司的发展小趣事

随着全球化趋势的加速,大雅智能积极实施国际化战略,拓展海外市场。通过与国外知名企业的合作与交流,大雅智能引进先进技术和管理经验,不断提升自身的核心竞争力。同时,大雅智能还积极参加国际展览和论坛活动,展示其创新成果和产品实力。这些努力让大雅智能在国际舞台上崭露头角,为全球消费者提供更多优质的电子产品。

问答坊 | AI 解惑

更新运动系统的方法

为了在激烈的竞争中取胜,生产商们必须想方设法制造出比上一代产品或市场上的竞争产品速度更快、体积更小、运行更精确、噪音更小、成本更低的机器。同时,随着机器老化、花费增加和技术进步,运动系统的更新换代也成为必需。无论什么原因,技术变革 ...…

查看全部问答>

130万像素CMOS数码相机的设计

本文介绍了一种130万像素CMOS数码相机的设计原理、基本组成及规格特点,并已有具体实践的结果和产品应用。 …

查看全部问答>

200分求解两个嵌入式问题,我块崩溃了

我的开发板是北京一家公司搞的叫YC2440,和S3C2440差不多 我的电脑主板是昂达N61,没有串口和并口。买了一根USB转串口,一根PCI转并口 调式用的是WIGGER接JTAG,AXD,RO和RW配置应该没问题,但是程序一跑就一直RUNNING IMAGE,这是第一个问题,我 ...…

查看全部问答>

wince 6.0 gprs 拨号 AT 高分求教

用单片机做过GSM/GPRS的打电话、发短信、TCP/IP数据发送,习惯了AT指挥串口操作 忽然到了wince了,迷茫了,明明简简单单的操作串口的事,怎么到windows这儿就整出这么多事来,什么cellcore、什么tapi、什么RIL、什么拨号 牢骚发完,言归正传。首 ...…

查看全部问答>

请问VxWorks下网络上传的文件和直接拷贝的文件有什么不同吗?

我需要在目标机上放置大量的.DAT数据文件以供程序读取运行,将目标机硬盘接到主机上直接将这些文件拷贝到目标机硬盘上,然后恢复目标机即可正常运行,但是将这些文件直接通过网络ftp上传到目标机硬盘上后,却没能正常的读取这些文件。请问这可能是 ...…

查看全部问答>

悄悄地问一个关于GPIO的问题。

如下 代码:            // *** set GPB6 Key lock ****************         sCPUIOP->GPBCON &= ~(3…

查看全部问答>

我面试通知说,会问些VLSI工艺原理,这个科目会包含哪些内容?

我面试通知说,会问些VLSI工艺原理,这个科目会包含哪些内容?…

查看全部问答>

BKP寄存器改不了?

指令:  *(vu16 *) (BKP_BASE + 1) = 0x5a5b;…

查看全部问答>

MSP430的稳定性

         我在学校的项目和课程中接触过freescale的s12x单片机、51单片机和MSP430单片机。当初老师对我们说过,MSP430单片机是低功耗便携式设备的不二之选。但MSP430的稳定性不太好,在强磁场或高压复杂环 ...…

查看全部问答>

求个能用的2812开发板空板

最近申请了ti的样片,但是感觉自己做板子不划算,所以来论坛求块dsp2812开发板的空pcb 希望能外扩sram和flash,除了电源和地之外的引脚全部引出,最好是经过验证的,先谢谢了…

查看全部问答>