梁光冬的博客

本文介绍了如何在STM32F1上进行串口通信的学习,包括UART1的初始化、中断服务程序和数据收发处理。通过示例代码展示了串口1的接收中断处理和数据存储,以及字符串处理函数的实现,用于解析接收到的数据。
摘要由CSDN通过智能技术生成

stm32f1串口学习

(uart1.c)
#include “sys.h”
#include “usart.h”
#include <stdio.h>
#include <stdlib.h>

/*参考网站:https://blog.csdn.net/Jkson10/article/details/80782265
实现功能:

		一个串口发送一个串口接收

		串口数据接收除接收数据外还需给出帧有效数据字节长度;

		串口可使用USART1、USART2、USART3,串口参数能自由设置;

		实现不定长数据帧的串口收发
		设计思路及流程:

		将中断串口参数设置初始化,中断函数的处理写在USART.C 文件里面,再使用主函数文件进行调用。
		修改:梁光冬
		DATE:20191027

*/

#if SYSTEM_SUPPORT_UCOS
#include “includes.h”
#endif

#if 1
#pragma import(__use_no_semihosting)
//
struct __FILE
{
int handle;
};

FILE __stdout;
//

int _sys_exit(int x)
{
x = x;
return 0;
}
//
int fputc1(int ch, FILE *f)
{
while((USART1->SR&0X40)==0)
; //
USART1->DR = (u8) ch;
return ch;
}

int fputc2(int ch, FILE *f)
{
while((USART2->SR&0X40)==0)
; //
USART2->DR = (u8) ch;
return ch;
}

int fputc3(int ch, FILE *f)
{
while((USART3->SR&0X40)==0) //
;
USART3->DR = (u8) ch;
return ch;
}
#en

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值