stm32f407单片机底层应用程序_usart6

  1. usart6.c

    #include "usart6.h"

    void My_USART6_Init(USART_TypeDef* USARTx,u32 bound)
    {
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

     RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6,ENABLE);
     	
     //GPIO
     GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_USART6);
     GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_USART6);
     	
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; 
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
     GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
     GPIO_Init(GPIOC,&GPIO_InitStructure);
     		
     //USART
     USART_InitStructure.USART_BaudRate = bound;
     USART_InitStructure.USART_WordLength = USART_WordLength_8b;
     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(USARTx,&USART_InitStructure);
     
    
     
     //NVIC
     NVIC_InitStructure.NVIC_IRQChannel = USART6_IRQn;
     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
     NVIC_Init(&NVIC_InitStructure);
     
     	
     USART_DMACmd(USARTx, USART_DMAReq_Rx, ENABLE);	
     USART_DMACmd(USARTx, USART_DMAReq_Tx, ENABLE);	
     USART_ITConfig(USARTx, USART_IT_IDLE, ENABLE); 
     
     USART_Cmd(USARTx,ENABLE);	
    

    }

2.usart6.h

#ifndef  __USART6_H
#define  __USART6_H
#include "sys.h"


void My_USART6_Init(USART_TypeDef* USARTx,u32 bound);


#endif
相关推荐
猿~~~8 分钟前
STM32的HAL库开发---多通道ADC采集(DMA读取)实验
stm32·单片机·嵌入式硬件
Freak嵌入式1 小时前
开源一款I2C电机驱动扩展板-FreakStudio多米诺系列
嵌入式硬件·嵌入式·智能硬件·开源硬件·micropython·电机驱动·电子模块
kongba0072 小时前
Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范
c语言·arm开发·单片机
LaoZhangGong1233 小时前
STM32的“Unique device ID“能否修改?
c语言·经验分享·stm32·单片机·嵌入式硬件
1101 11014 小时前
STM32-心知天气项目
stm32·单片机·嵌入式硬件
Ronin-Lotus4 小时前
嵌入式硬件篇---数字电子技术中的触发器
嵌入式硬件·fpga开发·触发器·数字电子技术·上位机知识
Ronin-Lotus4 小时前
嵌入式硬件篇---数字电子技术中的时序逻辑
单片机·嵌入式硬件·蓝桥杯·时序分析·数字电子技术
sinat_3607048215 小时前
STM32 看门狗
stm32·单片机·嵌入式硬件
亿道电子Emdoor15 小时前
【ARM】MDK如何生成指定大小的bin文件,并指定空区域的填充数据
arm开发·stm32·单片机
mftang15 小时前
STM32 CAN过滤器配置和应用方法介绍
stm32·单片机·嵌入式硬件