单片机数据通信怎么学?这个工具要用好:串口通信

发布时间:2022-12-08  

刚开始学单片机的你,是不是会因用程序把LED点亮而感到高兴,会因用程序把数码管点亮而感到高兴。这是好事,这也是想继续学习下去的动力。


但是到了与数据相关的实验时,却感觉很难有所进步。有时候,把驱动写好了,下载到单片机后,一点反应都没有,可是又不知道问题出在哪里,数据通信又不像LED那样可以用万用表测出到底有没有电。


这是学习单片机和STM32的一道坎。又或者说,这是一条河,阻拦着你的去路的河,有一条河你会怎么办?过去的方法很多,但是笔者觉得较快的方法就是借助原有工具渡过去。过去之后你会发现河的那边是一个不一样的世界。


那这个原有的工具是什么呢?那就是"串口通信"。

串口通信介绍

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式......这种太过理论了,看似懂了,但又不懂。还是用我笔者自己的话来说吧。

串口通信就是可以把程序在单片机或者STM32芯片中运行的结果发送到电脑的一种通信方式。如何使用串口通讯,你需要知道的几个重要的知识点:

  • 1.波特率。(数据传输的速度,两个设备在通信时的速度要设置成一样,否则会出现乱码)。

  • 2.硬件连接。串口通信是一种异步通信,一般都是TX->RX,RX->TX。

  • 3.停止位。

  • 4.奇偶校验。

  • 5.硬件数据流。

3、4、5,这几项一般不需要改变,所以在这就不用多说了。
串口作用

串口能用来做什么事情?

学过C语言的人都知道,程序开发需要不断调试不断验证。很多的语言编程软件都有很完整的程序调试功能。使用起来很方便。而我们的开发虽然也是用C语言,但我们的程序最终运行的环境不是在我们的开平台而是在真正的硬件系统中运行。这时想要查看程序的运行过程或者结果就不像编程软件那么方便了。


想要解决这个问题,我们这时就可以借助串口通信来把我们需要知道的结果又或者是程序运行的关键步骤发送到电脑上,我们就知道程序在硬件系统中运行是否出现问题。51单片机可以用串口来调试,STM32可以用串口来调试。高级一点的LINUX开发板也是使用串口来调试。


学会串口通信能做什么

当你学会串口通信时,你可以开始玩WIFI模块、GSM模块、蓝牙模块、GPS模块、以及各种使用串口通信的传感器等等。有能力你还可以编写上位机软件通过串口通信来控制设备。


串口通信需要什么

如果你只有STM32核心板,那么你还需要一个串口转USB模块和一个串口数据接收软件还有几根杜邦线就可以了。如果你的是比较完整的一款开发板的话,一般都已经带有串口转USB模块,这样使用起来就更简单了。聪明的你是不是发现还缺少了点什么,对。没错因为还缺少了最重要的程序。想要使用串口通信当然还需要写串口通信的程序。下面就教你如何去用,而不是写。


串口实验

在做一个实验时,最好把这个实验分割成几个关键的步骤,这样做的好处就是可以清晰的知道自己需要做什么,以及做完了哪些。还有哪些还没做。下面笔者把串口实验分成几个关键的步骤:

1)串口通信使用到的GPIO引脚配置

STM32F103系列的芯片一般都有三个串口以上,用来调试使用的串口一般都是使用USART1。其他的串口配置都是一样的。

下面这段就是串口配置的程序:

串口使用的的GPIO口是PA9和PA10,所以只需配置这两个IO口的输入输出模式就可以了。

2)串口主要参数设置(直接看程序)

串口参数配置无法就是配置串口的波特率、数据格式、停止位、奇偶校验、硬件流、收发模式。除了波特率需要改变其他的参数都不需要管。直接复制拿来用。
3)串口中断配置

串口如果使用中断接收,那么就需要配置串口的中断参数,配置项无法就是配置那个的中断源和中断的优先级。

4)串口使能

就是你需要什么时候开始使用串口功能,就是一句原有的函数。

5)编写串口中断处理函数

使用库函数开发,所有的中断函数都是已经存在的,只是中断函数里面没有处理任何事情而已。中断函数如下:

完整的串口中断函数:

串口数据的接收和发送的函数都是库函数提供的,想用时只需找到它直接拿来用就可以了。

以上就完成了一个最简单的串口实验。把程序编译烧写到STM32然后用串口转USB模块连接到电脑,使用串口数据接收软件SSCOM或其他的数据接收软件设置好波特率,打开串口,正常的话,那发送什么到STM32那就会收到什么。这样就算完成了。

这次就说到这了,如果有开发板的配套例程可以先使用,用多了,慢慢就理解了。这篇文章主要想说明串口的重要性。用串口来调试真的方便很多。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    AT89S52单片机与CC1100的接口硬件电路;单片机对发射模块和接收模块的控制,首先都要对单片机的接口进行初始化(SPI总线接口技术是一种高速、高效率的串行接口技术,主要......
    语言了解;2、微机原理与接口技术了解;想要提升开发能力,就必须要不断地实践,建议小白可以在网上(某宝)买一块51单片机开发板,自己参照课程研究研究 下面我把我的经历给大家说一下,希望有志于单片机......
    屏尽管已被广泛使用,但存在系统复杂,成本较高等缺点,不利于推广使用。为此,我们利用Philips公司51LPC系列的新型单片机P87LPC676采用多种串行接口技术组成前级驱动电路,使线路板结构简单。PC......
    ARM微处理器的指令系统《从实践中学ARM体系结构与接口技术》 【下载中心】PLC指令系统 【下载中心】微型计算机及单片计算机指令系统手册 202页 1.7M.pdf 【下载......
    路)的高端与电源相连,低端与接地相连,此时,电机会向一个方向旋转;当单片机的输出端口提供低电平时,控制电机驱动器的高端与接地相连,低端与电源相连,此时,电机会向另一个方向旋转。通过改变输出脚的高低电平,可以......
    8051单片机的通信方式有哪些;介绍:串行口是单片机与外界进行信息交换的工具。 8051单片机的通信方式有两种: 并行通信:数据的各位同时发送或接收。 串行通信:数据一位一位次序发送或接收。参看......
    形态嵌入式系统的最佳体系结构。“创新模式”获得成功,单片机与通用计算机分道扬镳。在嵌入式系统的探索道路上,intel公司功不可没。 微控制器阶段: 2.MCU即微控制器(Micro Controller Unit),主要的技术......
    信号[3-4]。即可写入数据。 4   结束语 该系统是基于单片机的数字FM调频收音机的设计,也是基于单片机及其接口技术、计算机技术、微电子技术综合应用的设计,该设......
    特率、数据位、停止位等。 2. 然后,需要在STM32单片机上配置相应的通信接口,并将其与外部设备连接起来。 3. 接着,需要编写相应的程序,实现STM32单片机与外部设备之间的数据传输。 4. 最后,需要......
    的结构及工作原理。2. 掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3. 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数      的计算方法。4. 通过......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>