wowu 发表于 2025-8-13 10:50

STM32 串口收发

Overview
本文使用的是STM32F103开发板,本文会使用中断接收数据,最后通过Windows换行符“\r\n”来判断是否接收完整。所以发给本Demo的数据都应该在最后带有\r\n



设置步骤:
串口时钟使能,GPIO 时钟使能
串口复位
GPIO 端口模式设置
串口参数初始化
开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)
使能串口
编写中断处理函数


相关具体函数
1.串口时钟使能
串口是挂载在 APB2 下面的外设,所以使能函数为:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);



2.串口复位
当外设出现异常的时候可以通过复位设置,实现该外设的复位,然后重新配置让其重新工作。

在系统刚开始配置外设的时候,一般都会先执行复位该外设的操作。

复位的是在函数 USART_DeInit()中完成,比如我们要复位串口 1,方法为:


USART_DeInit(USART1); //复位串口 1


3.串口参数初始化
串口初始化是通过 USART_Init()函数实现的,原型如下

void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);


参数1:指定串口标号,这里选择 USART1。
参数2:一个 USART_InitTypeDef 类型的结构体指针,这个结构体指针的成员变量用
来设置串口的一些参数。

这个结构体来设置:波特率,字长,停止位,奇偶校验位,硬件数据流控制,模式(收或发)

        //USART 初始化设置
        USART_InitStructure.USART_BaudRate = bound;                                        //串口波特率
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //字长为8位数据格式
        USART_InitStructure.USART_StopBits = USART_StopBits_1;                //一个停止位
        USART_InitStructure.USART_Parity = USART_Parity_No;                        //无奇偶校验位
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //无硬件数据流控制
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;                //收发模式

        USART_Init(USART1, &USART_InitStructure); //初始化串口1


4.数据发送与接收
STM32 的发送与接收是通过数据寄存器 USART_DR 来实现的,这是一个双寄存器,包含了 TDR 和 RDR。

当向该寄存器写数据的时候,串口就会自动发送,当收到数据的时候,也是存在该寄存器内。


STM32 库函数操作 USART_DR 寄存器发送数据的函数是USART_SendData。该函数向串口寄存器 USART_DR 写入一个数据。

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);



STM32 库函数操作 USART_DR 寄存器读取串口接收到的数据的函数是USART_ReceiveData,该函数可以读取串口接受到的数据。

uint16_t USART_ReceiveData(USART_TypeDef* USARTx);


5.串口状态
串口的状态可以通过 状态寄存器 USART_SR 读取

data:image/png;base64,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***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iACIhD2ApIsh30TSQFFQAREQAREQAREQAREQAREQARWWkCS5ZUWl98TAREQAREQAREQAREQAREQAREIewFJlsO+iaSAIiACIiACIiACIiACIiACIiACKy0gyfJKi8vviYAIiIAIiIAIiIAIiIAIiIAIhL2AJMth30RSQBEQAREQAREQAREQAREQAREQgZUWkGR5pcXl90RABERABERABERABERABERABMJeQJLlsG8iKaAIiIAIiIAIiIAIiIAIiIAIiMBKC/yoZNlsNrNhwwZ++ctfykMMJAYkBiQGJAYkBiQGJAYkBiQGJAYkBiQGIi4GGhoavjP//lHJsl6v59VXX+UXv/iFPMRAYkBiQGJAYkBiQGJAYkBiQGJAYkBiQGIg4mKgvLz8p0+W/+zP/ox/9a/+lTzEQGJAYkBiQGJAYkBiQGJAYkBiQGJAYkBiIGxjQMtdZzt9VyRZ/rf/9t/y9NNPy0MMJAYkBiQGJAYkBiQGJAYkBiQGJAYkBiQGwjYG/uqv/oq/+Iu/CCXMK5IsP/vss9/ZfS1/FAEREAEREAEREAEREAEREAEREIHHLXD+/Hm0zl6td1mS5cfdGvL7IiACIiACIiACIiACIiACIiACYSEgyXJYNIMUQgREQAREQAREQAREQAREQAREIJwEJFkOp9aQsoiACIiACIiACIiACIiACIiACISFgCTLYdEMUggREAEREAEREAEREAEREAEREIFwEpBkOZxaQ8oiAiIgAiIgAiIgAiIgAiIgAiIQFgKSLIdFM0ghREAEREAEREAEREAEREAEREAEwklAkuVwag0piwiIgAiIgAiIgAiIgAiIgAiIQFgISLIcFs0ghRABERABERABERABERABERABEQgnAUmWw6k1pCwiIAIiIAI/bwFVRVWCKNq/P28Jqb0IiIAIiIAIPHYBSZYfexNIAURABERABERAE1AJeKyM9jTT2NmP3u4hqHxH0hwM4FcUVPWPp9VKwINpcpjewTHMLp8k4hJwIiACIiACIvA9BCRZ/h5I8hEREAEREAER+OkFgjjGW7kR+w1bvk2ivLGVxuYmmvtHmZzSo9cveEzp6KkuIK9xCHdAS5jnS6cqAdw2C3avn6DfjWmsh+qcqxzasYGv98RT0KrDHVjwhdBXVYJeN3abHU8gKMn0PKc8EwEREAER+BkLSLL8M258qboIi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EgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDIRtDERHR/Nv/s2/4Re/+AXl5eXfedLgF9/514f8Ua/X8+qrr4Z+QPuRf/2v/zV/8zd/Iw8xkBiQGJAYkBiQGJAYkBiQGJAYkBiQGJAYCNsY+Mu//Ev+/M//fOWSZS1hlocYSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMREoMrEjPcqRgSDllxZUYkBiQGJAYkBiQGJAYkBiQGJAYkBiQGNBi4CdJlj0eD8XFxWgXR8tDDCQGJAYkBiQGJAYkBiQGJAYkBiQGJAYkBiItBiYnJx9y4fH02z/qmuXvXKL8UQREQAREQAREQAREQAREQAREQAQiXECS5QhvQCm+CIiACIiACIiACIiACIiACIjAoxeQZPnRm8oSRUAEREAEREAEREAEREAEREAEIlxAkuUIb0ApvgiIgAiIgAiIgAiIgAiIgAiIwKMXkGT50ZvKEkVABERABERABERABERABERABCJcQJLlCG9AKb4IiIAIiIAIiIAIiIAIiIAIiMCjF5Bk+dGbyhJFQAREQAREQAREQAREQAREQAQiXECS5QhvQCm+CIiACIiACIiACIiACIiACIjAoxeQZPnRm8oSRUAEREAEREAEREAEREAEREAEIlxAkuUIb0ApvgiIgAiIgAiIgAiIgAiIgAiIwKMXkGT50ZvKEkVABERABERABERABERABERABCJcQJLlCG9AKb4IiIAIiIAIiIAIiIAIiIAIiMCjF5Bk+dGbyhJFQAREQAREQAREQAREQAREQAQiXECS5QhvQCm+CIiACIiACIiACIiACIiACIjAoxeQZPnRm8oSRUAEREAEREAEREAEREAEREAEIlxAkuUIb0ApvgiIgAiIgAiIgAiIgAiIgAiIwKMXkGT50ZvKEkVABERABERABERABERABERABCJcQJLlCG9AKb4IiIAIiIAIiIAIiIAIiIAIiMCjF5Bk+dGbyhJFQAREQAREQAREQAREQAREQAQiXECS5QhvQCm+CIiACIiACIiACIiACIiACIjAoxeQZPnRm8oSRUAEREAEREAEREAEREAEREAEIlxAkuUIb0ApvgiIgAiIgAiIgAiIgAiIgAiIwKMXkGT50ZvKEkVABERABERABERABERABERABCJcQJLlCG9AKb4IiIAIiIAIiIAIiIAIiIAIiMCjF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***ZW8RnzF3/xF/1+/J3vfMej6/aHP/yh65kj3qO++93vemy9itfm9773vf7nzoTAsnihlJWVSf+SBpIPSD4g+cAE+kBxcTE//elPXQ/yv/u7v/No7RMSElxw3BfRtHTpUvLz8z3W5tzcXBdUiRC5bNkyj7VTbDsEBQX1d/rs3r3bo2318/Pjz//8z10dIVevXvVoW729vfshQ+wQuX79ukfb+x//8R+uehUHkAoLCz3WVvFe/Pbbb7vqVnzNzs72WFsLCgoQAbnvubN27VqPrtvQ0FD+9E//FLHzff369R5br+JzZ//+/f3PnQmB5SlTprx0+Fr6UVJAUkBSQFJg7BUQk1K88847rgf5t771rbE/wSQ6YlNTE1OnTu1vtGzfvh2j0TiJSji2RRETaIq9++Io1Y4dO8b24JPsaDdv3uwfqTp79uwkK93YFic8PJxvfOMbrtGbjIyMsT34JDtacHBw//X6k5/8xAVVk6yIY1occbRKjAb55je/ic1mG9NjT6aDNTY2Mn36dFfdzpgxA41GM5mKN6ZlMZlMfP/73+/344MHD2K1Wsf0HJPpYCkpKa7R1q9//escOXJkMhVtzMty8eLF/ueOBMtjLq90QEkBSQFJgcmhgATLEixPDk98vVJIsPx6+k3WvSVYnqw183rlkmBZguXX86DJsbcEy5OjHqRSSApICkgKjKsCEixLsDyuDjZBB5dgeYKEnuDTSLBqKjPmAAAgAElEQVQ8wYJP0OkkWJZgeYJcbVxPI8HyuMorHVxSQFJAUmByKCDBsgTLk8MTX68UEiy/nn6TdW8JlidrzbxeuSRYlmD59TxocuwtwfLkqAepFJICkgKSAuOqgATLEiyPq4NN0MElWJ4goSf4NBIsT7DgE3Q6CZYlWJ4gVxvX00iwPK7ySgeXFJAUkBSYHApIsCzB8uTwxNcrhQTLr6ffZN1bguXJWjOvVy4JliVYfj0Pmhx7S7A8OepBKoWkgKSApMC4KiDBsgTL4+pgE3RwCZYnSOgJPo0EyxMs+ASdToJlCZYnyNXG9TQSLI+rvNLBJQUkBSQFJocCEixLsDw5PPH1SiHB8u***1n3lmB5stbM65VLgmUJll/PgybH3hIsT456kEohKSApICkwrgpIsCzB8rg62AQdXILlCRJ6gk8jwfIECz5Bp5NgWYLlCXK1cT2NBMvjKq90cEkBSQFJgcmhgATLEixPDk98vVJIsPx6+k3WvSVYnqw183rlkmBZguXX86DJsbcEy5OjHqRSTLgCAnazHkVnG0qzHacgvKAEAoIg8KJfB3YScDqs6DQGbM4v3npgP+mdpMDEKCDBsgTLE+Np43sWCZbHV983dXQJlt+U8uN7XgmWJVgeXw+bmKNLsDwxOktnmWwKOG10lD/k4Oq57LiUSFlNHQ1NzXR0ddPd3fffRWtjLWWF5TR3qbEOhmDBgcWoQ2cwoNMo6Kgv4lFEAIunbeJKfgcmqxWrxYLFYsHqem/GoNOg1plxSCw92bzhj6I8EixLsOwJji7BsifU4vM2SLD8vCae8I0EyxIse4IfS7DsCbUo2fCKCgg47UbKHpxm1aw1XHpSwONwX1Zt38upy9eJjIoiSvyPvMa5I3v4fLYXIbefojQ7+s/jtOopS4riXPRd4u5Gc9ZnJ5t2HeLc1Ugiw6KIT0sn8V4sN27EkZKZTVZqPNcvHMf3ajrdloHj9B9QeiMpMM4KSLAswfI4u9iEHF6C5QmRecJPIsHyhEs+ISeUYFmC5QlxtHE+iQTL4yywdPjJqICATd/OncBNLNseTWVHC0nRR5l38Dxp9Z1otFq04r9aRmXiHU6sO0tcSgMG+8CQsNOiISn8MDP2hPK4uIbWjm5UOiNWm5G2gkTu3o7m8MoFTJ2xi2txSSTEXmb7qlm8sz2CeoN9MooilcnDFZBgWYJlT3BxCZY9oRaft0GC5ec18YRvJFiWYNkT/FiCZU+oRcmGV1JAEOxoGpPxXb6C4yktGPQdJMUEsMA3jKfdhoH5yQ4zrVmJhGy5yKOMZkyD4qddsBzjz6KzSTTqTOjbi7l3J4Hs6i7MDgeGrkou7tvMap9HdJjt6DsKuei/gcVXcjG9UmmljSUFxkaB8YFlMUrDikGjRiGXo9QaeqYe2J0ITjtmvRalTIZsyL9cpcVodfRca0LPMYxaDQq5ArXY6WR34nQ4XpJL4OWaNDU1MXXqVP7kT/7E9b99+3aMxtHBsmiHSa922SCXK9HqzdgHT8lAwGE1olYphtipRKMzYXM4EVMiCIINg3pgG7lcjkrUy9arw8tNeumver2er3zlK3zta19jx44dL9325T+KtpjQqpTIh9aZaLvOjN1hx2IQ60qOQqlx1aPTYcOo66k/0SarzYpJr33uGC4/cO1jd2ny8rIM/+t4wrJY10a9Zphyy1FqdJifqSsBh82CXqtG9Au1zoDZbB3iG8PbMNJvw8PD+cY3vsGXv/xlMjIyRrobglOsDzVK+eBrTzHgb2IeDocNg04suxy5qifXhrif6KNyuQKNzojJZECtUqHSmvrtEgQHVpMelVKOXKlGq9ehUSuH+L543p77gcv/R1Dy14FlMa+IKwfJMz4rR6nSYRHvRaKtWtVAGeUKVJrea6+3D1xwOjDre/xaJlOgMZhxDLnORT8XjzP02pCJ14Jah6nvnjYCe9966y2+9KUv8c1vfhObzTaCPV6+iei7FoMOlaKnLC5f7c3F4rBb0A2697iuQ/Feqzf33J8QcNosGNTPX/eiFiq1Huszvv/ysgz+dfxgue/Zo0Gl0mKy2nvbbgI99ipd16VGZ8Co16FWyAfqv99PlGgNljGbGmcymfj+97/f/9w5ePCgaxreYD1G/17AZtajHNYO8V6sx+pwYreZ0T73LJIh63u2DmrHjr4sPXumpKTw1a9+la9//escOXLkdQ83sL/gxGExopYPrjM5CoUKraHHZ0G8h4l+PZzPypCpDf33rIEDj/6dBMuj107a0x0VEBvmNh3lN/Yx61N/cuUWrK8Ny0ZMqnoSL+xn2sK9RJfL6KhKxNdrIyceN2IW7KibMzm773M23ixFCsJ2R8dx/z**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**bJatCOeszwYlnv82oTpCyNsnjV5bGDZgbwsniMrNnLyZn7/aJvrTEIX0Rvf4d398XRbB8FyaSdmQxfZkT5s8rlLU1/Y/XOwLF7jDixGMzb7F3WIPmvb4E8TB8viSKIDXUMap30OcPDcZW6lVNA9bDZsAYfNitloHvE0gcE2vej9m4BlcGBU61NVd4cAACAASURBVOhNBM3zCb7EGTNW1/XYs0b8i0r/6t9PBCw/kw17mCIOhWUEK3qDBfszy74Ns+MrfiXB8isKJm3uAQo8A8t27EY5Fcl3uBgSQ1Z1LUXRp9i/4gCPq9ooS4nm6NFALj/IpkUlJivpa2T0hWFvYs2lJBrkanQ6HRpVOcFzfsCHFwpQ63TodCpay59wdu0a/GIkWPYA73FbE8YSlp02GXf8VzBr/y1qxfmP/aqIy3FYUDTWDwrnfBEsC1iNehRdcvTi9Ib+Y4BV3Ujc9QBC0utGNXo3YbDsNKHWaNEarM8vHSXaI3TyYOsHfH9TNOphYVns9S8jbP9aFu+No22US3pM/MiygE0vpyo9iawGBc3Fjzh19AQRSTXoe0eXh44sD1SvHZVMhd78atmD+/Z/07CMuYrgqb9jxbnUnuWX+gomCDjsWhqqukadDKnvUH2vYwbLBguWrhwCN3oTllz9TFZcu6qGxKRCurQ6OnKv4LX0II+aDa4OsKGwLIKhuimfS9u3sW6NL7fzm4aF5b7yY9fRKdNhG0FE1cTDsoBDVcLZ1WvZfvwhTS/Lhu10YNLLkauMwy4d5UrUJ65+odZiNI3Mr8cEll2d9uVEHPPGJyqVVu2gc1vKOfXRNA7F12MZkg3b5jDTXRbPsX2HiSpV9GSwHwaW++rRaTai1agx2L4oP0XfHgOvEwvLYgePityoo3y+6nMOhqXSpnzR0lE9ZXRolMj1xmfyLQyU/tXevRlYfraMw8FyzxaCa4k/lUaPaZTPmWfPBJMSlvsLaaGzqRtrf5u9/4dRvZFgeVSySTu5tQKDYDlfrqWtLIPYyBiSS5sxWtWU3zjGjiU7eFijwSiv4cGFQyxftJwt/hHkNSjoyenSC8u+W9gYno3M0pNl0GFv4urCf2X6tareJVTsaJqyCd24nqMSLLu127h74ccSlgWnidJ7x1k6dx9x5d1Ye3txBacTk7ySxAfZdPV1dfMiWHai76on60kiuXXtg6YoCJgVtdy9EEhkXvOg70deAxMDywI2VSPFJSXUdBmGhWXBVMPlxVP5wP8JhudgWUCwG2jOusnuRZ9zPLkZS19f3MhNdW050bDsykraUUFSYjlap4BJ0cCjSyc5ef4O1b3rzL4IlgVjC49SntLQ/ewc55Ga/MZhWdBQHLyctxedJLtVXAdcrDQBca1ddVMu95/UDYS2jtSoF2w3drBsA0FDwbnNrDkXT72qdy1gwUxrYQ55dZ1YHQ6sugaifdfgFVboCql/DpbFZRPNCnKjzrBx0V6uJ4pJzoZfZ1lclsrQmENCXi26ZxJPDW/shMOyw0RbZhhrVntzIanW1cnzonWWHVYtDU8fk9ekGx6WBQc6RRO5BaU0dI7Mr8cGlsX6UJIbdxnfk7GUtGp6/dGJvuIa898/RGqbAYfDOhCG7***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**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***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


RXNE(读数据寄存器非空)

当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取 USART_DR。

通过读 USART_DR 可以将该位清零,也可以向该位写 0,直接清除。


TC(发送完成)

当该位被置位的时候,表示 USART_DR 内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。

该位也有两种清零方式:

读 USART_SR,写USART_DR
直接向该位写 0
读取串口状态的函数是:

FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);



这个函数的第二个参数标示我们要查看串口的哪种状态,比如上面的 RXNE(读数据寄存器非空) 以及 TC(发送完成)。

判断读寄存器是否非空(RXNE):
USART_GetFlagStatus(USART1, USART_FLAG_RXNE);


判断发送是否完成(TC):
USART_GetFlagStatus(USART1, USART_FLAG_TC);



6.串口使能
串口使能是通过函数 USART_Cmd()来实现的

USART_Cmd(USART1, ENABLE); //使能串口



7.开启串口响应中断
有些时候当我们还需要开启串口中断,那么我们还需要使能串口中断,使能串口中断的函数是:

void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState)




第二个参数是标示使能串口的类型,也就是使能哪种中断,因为串口的中断类型有很多种。

在接收到数据的时候(RXNE 读数据寄存器非空),要产生中断
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启中断,接收到数据中断


在发送数据结束的时候(TC,发送完成)要产生中断,那么方法是:
USART_ITConfig(USART1,USART_IT_TC,ENABLE);

8.获取相应中断状态

使能了某个中断之后,当该中断发生了,就会设置状态寄存器中的某个标志位。

在中断处理函数中,要判断哪种中断被触发了,使用的函数是:

ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)



若使能了串口发送完成中断,当中断发生了,在中断处理函数中判断是否串口发送完成中断

USART_GetITStatus(USART1, USART_IT_TC)



如果返回值是 SET,说明是串口发送完成中断发生



程序设计
GPIO初始化
串口时钟使能,和GPIO时钟使能
配置GPIO
配置中断优先级
配置串口1的属性
开启接收中断
使能串口1
void uart_init(u32 bound)
{
        //GPIO端口设置
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);        //使能USART1,GPIOA时钟

        // 串口复位
        USART_DeInit(USART1);

        //USART1_TX   GPIOA.9
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //复用推挽输出
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9

        //USART1_RX          GPIOA.10初始化
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10

        //Usart1 NVIC 配置
        NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级3
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;                //子优先级3
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ通道使能
        NVIC_Init(&NVIC_InitStructure);        //根据指定的参数初始化VIC寄存器

        //USART 初始化设置
        USART_InitStructure.USART_BaudRate = bound;                                        //串口波特率
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //字长为8位数据格式
        USART_InitStructure.USART_StopBits = USART_StopBits_1;                //一个停止位
        USART_InitStructure.USART_Parity = USART_Parity_No;                        //无奇偶校验位
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //无硬件数据流控制
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;                //收发模式

        USART_Init(USART1, &USART_InitStructure); //初始化串口1
        USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启串口接收中断
        USART_Cmd(USART1, ENABLE);                  //使能串口1
}



串口1的中断服务函数
一个一个字符接收,收到换行符"\r\n"之后,因为 \r 和 \n 是分开的,所以他们得连续一起接收到才算真正的结束符。

所以设立两个标志

RecvCompleteFirstFlag为1时,表示 \r 收到了
completeFlag 为1时,代表两个字符都收到了

u8 completeFlag = 0;
u8 RecvCompleteFirstFlag = 0;
typedef struct
{
    u8 recvData;
    u8 len;
}USART_RX_ST RxObjST;

void USART1_IRQHandler(void)                        //串口1中断服务程序
{
        u8 Res;

        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//接收中断(接收到的数据必须是 0x0d 0x0a 结尾)
        {
                Res = USART_ReceiveData(USART1);        //读取接收到的数据
               
                if (completeFlag == 0)//接收未完成
                {
                        if (RecvCompleteFirstFlag == 1)//接收到了0x0d
                        {
                                if(Res!=0x0a)
                {
                  RecvCompleteFirstFlag = 0;
                  RxObjST.len = 0;
                }
                                else
                                        completeFlag = 1;        //接收完成了
                        }
                        else //还没收到0X0D
                        {       
                                if (Res==0x0d)
                                        RecvCompleteFirstFlag = 1;
                                else
                                {
                                        RxObjST.recvData=Res ;
                                        RxObjST.len++;
                                        if(RxObjST.len>(USART_REC_LEN-1))
                  {
                        RecvCompleteFirstFlag = 0;
                  }
                                }               
                        }
                }                  
    }
}





调用
串口数据处理:通过检查completeFlag,判断是否接收到完整数据
数据回传:将接收到的数据原样发送回上位机
系统状态指示:通过LED0的周期性闪烁(约300ms周期)表示系统正常运行
因为和刚刚的USART1_IRQHandler不在同一个文件中,但是希望共享变量,所以使用外部声明

extern u8 completeFlag;

extern u8 RecvCompleteFirstFlag;

extern USART_RX_ST RxObjST;

extern u8 completeFlag;
extern u8 RecvCompleteFirstFlag;
extern USART_RX_ST RxObjST;


int main(void)
{
    u16 t;
    u16 len;   
    u16 times=0;

    BaseType_t xReturn;
    delay_init();                        //延时函数初始化   
    uart_init(115200);                  //初始化串口
    KEY_Init();                         //初始化与按键连接的硬件接口
    LED_Init();
    BEEP_Init();                         //初始化蜂鸣器端口

    // 设置优先级分组为分组2:2位抢占优先级,2位响应优先级
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

    printf("App Start 2025 0804!-------------\r\n");

   while(1)
    {
      if(completeFlag == 1)
      {                     
            len = RxObjST.len;//得到此次接收到的数据长度
            printf("\r\nThe message you send is:\r\n\r\n");
            for (t=0; t<len; t++)
            {
                USART_SendData(USART1, RxObjST.recvData);//向串口1发送数据
                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
            }

            RxObjST.len = 0;
            completeFlag = 0;
      }
      else
      {
            times++;
            if(times%30==0)
            {
                LED0=!LED0;//闪烁LED,提示系统正在运行.
            }
            delay_ms(10);   
      }
    }   
}



————————————————
版权声明:本文为CSDN博主「扣篮发型不乱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KawhiLeo/article/details/149844897

页: [1]
查看完整版本: STM32 串口收发