⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usart.c

📁 基于EK—STM32开发板的LCD驱动编程实现
💻 C
字号:
/******************************************************************
   本程序只供学习使用,未经作者许可,不得用于其它任何用途

        欢迎访问我的USB专区:http://group.ednchina.com/93/
        欢迎访问我的blog:   http://www.ednchina.com/blog/computer00
                             http://computer00.21ic.org

USART.C  file

作者:Computer-lov
建立日期: 2008.07.29
修改日期: 2008.07.29
版本:V1.2
版权所有,盗版必究。
Copyright(C) Computer-lov 2008-2018
All rights reserved            
*******************************************************************/

#include "USART.H"
#include "gpio.h"

#define BIT_RATE 9600
#define USART_CLK 72000000UL

//串口初始化,波特率为9600
void Usart1Init(void)
{
 //设置波特率分频器
 pbUSART1_BRR->DIV_Mantissa=(USART_CLK/16/BIT_RATE);
 pbUSART1_BRR->DIV_Fraction=(USART_CLK/BIT_RATE);
 
 //使能串口1
 pbUSART1_CR1->UE=1;
 //0: 1 Start bit, 8 Data bits, n Stop bit
 pbUSART1_CR1->M=0;
 //禁止奇偶校验
 pbUSART1_CR1->PCE=0;
 //禁止串口1的所有中断
 pbUSART1_CR1->PEIE=0;
 pbUSART1_CR1->TXEIE=0;
 pbUSART1_CR1->TCIE=0;
 pbUSART1_CR1->RXNEIE=0;
 pbUSART1_CR1->IDLEIE=0;
 //使能串口1发送
 pbUSART1_CR1->TE=1;
 //使能串口1接收
 pbUSART1_CR1->RE=1;
 
 //1位停止位
 pbUSART1_CR2->STOP=0;
 //禁止LIN Break Detection Interrupt
 pbUSART1_CR2->LBDIE=0;
 
 pbUSART1_CR3->CTSIE=0;
 pbUSART1_CR3->CTSE=0;
 pbUSART1_CR3->RTSE=0;
 pbUSART1_CR3->DMAT=0;
 pbUSART1_CR3->DMAR=0;
 pbUSART1_CR3->SCEN=0;
 pbUSART1_CR3->NACK=0;
 pbUSART1_CR3->HDSEL=0;
 pbUSART1_CR3->IRLP=0;
 pbUSART1_CR3->IREN=0;
 pbUSART1_CR3->EIE=0;
 
 //TXD引脚设置(连接在PA9上)
 GPIOA_MODE9=3; //50MHz 输出模式
 GPIOA_CNF9=2;  //第二功能推挽输出模式
 
 //RXD引脚设置(连接在PA10上)
 GPIOA_MODE10=0; //输入模式
 GPIOA_CNF10=1;  //高阻输入
}

//从串口1等待1字节数据
unsigned char Usart1GetChar(void)
{
 while(!pbUSART1_SR->RXNE);
 return pbUSART1_DR->DR;
}

//往串口1发送1字节
void Usart1PutChar(unsigned char Value)
{
 while(!pbUSART1_SR->TXE);
 pbUSART1_DR->DR=Value;
}

//往串口1发送一个字符串
void Usart1PutString(unsigned char *pString)
{
 unsigned int i;
 i=0;
 while(pString[i])
 {
  Usart1PutChar(pString[i]);
  i++;
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -