历史上的今天
返回首页

历史上的今天

今天是:2025年01月29日(星期三)

2021年01月29日 | MSP430f5529定时器模拟串口

2021-01-29 来源:eefocus

写这篇文章的目的

本人记性贼差,写过的代码总是忘,每次从头看数据手册,因此借CSDN平台,帮助自己第二次甚至第三次写同一个东西的时候能够有所回忆。


打代码之前的思考

了解串口

串口通信需要三根线,RX, TX, GND
串口数据格式,一个开始位+一字节数据+一个结束位
串口数据格式
波特率:一种用于衡量每秒钟UART传输位数的单位

程序思路

发送端

假设波特率为9600,也就是每秒钟需要传输9600位的数据,那么每传输一位就需要1/9600s,因此,在发送端我们只需要在发送数据时打开定时器,定时时间为1/9600,每进一次中断把端口设置成要发送的位数据。


接收端

接收端的实现需要依靠定时器的捕获功能,当捕获到端口下降沿的同时,打开定时器,每进一次定时中断读一次端口状态。


注意

1.因为接收端在最开始判断有没有数据需要依靠下降沿,所以在发送端,空闲状态下发送端口最好设置为高电平。
2.在定义发送数据的时候不要使用unsigned char 类型,因为需要一字节数据本身加上开始位和结束位需要十位数据大小。


推荐阅读

史海拾趣

Computer Conversions Corp公司的发展小趣事

在计算机行业快速发展的时代,Computer Conversions Corp公司凭借其敏锐的市场洞察力和技术实力,成功地把握住了行业发展的脉搏。公司曾面临一个重大挑战:如何使老旧的计算机硬件与新兴的软件兼容。为了解决这一问题,Computer Conversions Corp投入大量资源进行技术研发,最终开发出了一种独特的硬件转换器。这种转换器不仅解决了兼容性问题,还大幅提升了数据处理速度,赢得了市场的广泛认可。

EPCOS (TDK)公司的发展小趣事

面对数字化转型和能源转型的市场趋势,TDK-EPC公司积极调整战略方向,加大在传感器系统、新能源技术等领域的研发投入。通过与全球各大高校和研究机构的紧密合作,公司成功开发出了多款高性能的传感器系统和新能源产品,为客户提供了更加全面、高效的解决方案。这些成果不仅彰显了TDK-EPC公司的技术实力和市场竞争力,也为公司的未来发展奠定了坚实的基础。

CUI公司的发展小趣事

近年来,智能化和物联网技术的快速发展为电子行业带来了前所未有的机遇。CUI技术作为实现电子设备智能化和互联互通的关键环节之一,得到了广泛的应用。一些企业针对智能化和物联网的需求,开发出具有特殊功能的CUI材料,如柔性CUI、透明CUI等,为电子产品的创新提供了有力支持。

请注意,以上故事仅为概述性质,并非针对特定公司的实际发展历程。每个公司的具体情况可能因市场环境、技术实力、管理策略等因素而有所不同。如果需要了解特定公司的具体发展故事,建议查阅相关公司的官方网站、新闻报道或行业分析报告。

GE (General Electric)公司的发展小趣事
检查继电器、接触器、转换开关等控制元件是否接触良好,有无损坏或松动现象。
HANA Micron公司的发展小趣事

随着线上及线下业务的快速增长,Hama面临着交货时效性的巨大挑战。为了应对这一挑战,公司决定在蒙海姆总部建造一座集仓储、拣选与发货一体的物流中心。该物流中心采用了先进的自动化和人工子系统相结合的设计方案,大大提高了物流运作的效率。新系统的启用使得Hama每天能够处理数以万计的订单,确保了产品的及时交付,进一步提升了客户满意度和品牌影响力。

Capax Technologies Inc公司的发展小趣事

Capax Technologies Inc的崛起始于一次技术突破。公司研发团队成功开发出一种新型半导体材料,显著提高了电子设备的性能和能效。这一创新成果迅速在行业内引起关注,Capax Technologies Inc因此获得了大量订单和投资。随着技术的不断迭代和优化,Capax Technologies Inc逐渐在电子行业中崭露头角,成为一家备受瞩目的创新型企业。

问答坊 | AI 解惑

用DS18B20制作的网络型温度传感器资料

这是用AT89C2051和DS18B20制作的网络型温度传感器,可以用RS232总线向电脑发送测量的温度,或用RS485总线实现网络通信。压缩包中包含有用Protel画的原理图,源程序,说明书和实物图片。特别是DS18B20的测量程序,给出了详细的操作说明,这是一个完 ...…

查看全部问答>

关于quartus II的问题

我在用QuartusII 实现微程序控制器过程时 仿真时出现这样的错误 *** Fatal error: Module: quartus_sim.exe Exception: Access Violation Stack Trace: 019fc6eb: SDB_TRI::initialize_value_pointers() + 0x21a (tsm_sdb) 80000000:019f3758: ...…

查看全部问答>

声卡驱动接口wav_iocontrol中pBufIn参数的设置

我想利用DeviceIoControl打开一个声卡驱动设备。但是编译的时候报错,说WODM_OPEN这个变量没有定义,请教一下应该怎么办?程序如下:         PMMDRV_MESSAGE_PARAMS pBuffin;         pBuffin->dwParam ...…

查看全部问答>

学习汇编语言

请问没有高级语言基础,可以把汇编语言学好吗?本人只有初中文化(英语,数学都还给老师了)…

查看全部问答>

arm7上uclinux的FTP问题

我在ARM7上跑uClinux,通过交换机和电脑相连,电脑跑的是pure-ftpd,在板上的uclinux可以put文件到电脑上,但是get文件就会出现 Read-only file system 的错误,是不是权限不足?如果是那又怎么解决...... 初学嵌入式,希望大家能帮助…

查看全部问答>

今天同学对我说,他表舅说单片机已经过时了,

他表舅说在大学学的就是这个,而且谁也学得没他好! 这句话对打击很大! …

查看全部问答>

STR710在UCOS下跑飞是是么原因。

                                 如题…

查看全部问答>

A51中A和ACC一样么

嘿嘿嘿。今天看到某人讲“寄存器A,也就是ACC”于是感慨,C51语言害死人啊 大家说说,A和ACC是一码事么?…

查看全部问答>

关于PWM波形输出

各位大侠,最近小弟自己做了一块2812的最小系统板,用于驱动电机,焊好调试,写了个小程序,程序内容为12个pwm输出不同占空比,EVA的六路PWM可以用示波器看到波形,EVB的六路就啥都测不到,求指教究竟有神马原因会导致这样,代码如下://// &nbs ...…

查看全部问答>

关于stm32的TIM

问一下,TIM_OCMode_Timing 与TIM_OCMode_Toggle 的区别,还有产生pwm是不是一定要用TIM3…

查看全部问答>