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