历史上的今天
今天是:2024年09月12日(星期四)
2018年09月12日 | stm32——串口1和串口2初始化
2018-09-12 来源:eefocus
void USART1_Initialise(u32 bound)
{
//GPIO端口设置
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
//USART1_TX PA.9
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//USART1_RX PA.10
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//Usart1 NVIC 配置
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器USART1
//USART 初始化设置
USART_InitStructure.USART_BaudRate = bound;//一般设置为9600;
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(USART1, &USART_InitStructure);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启中断
USART_Cmd(USART1, ENABLE); //使能串口
}
void USART2_Initialise( u32 bound )
{
GPIO_InitTypeDef GPIO_InitStructure;//I/O?ú3?ê??ˉ?á11ì?
NVIC_InitTypeDef NVIC_InitStructure;//?D??3?ê??ˉ?á11ì?
USART_InitTypeDef USART_InitStructure;//′??ú3?ê??ˉ?á11ì?
/* Enable the USART2 Pins Software Remapping */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB2Periph_AFIO, ENABLE);
/* Configure USART2 Rx (PA.03) as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure USART2 Tx (PA.02) as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Enable the USART2 Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
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(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
/* Enable USART2 */
USART_Cmd(USART2, ENABLE);
}
void USART2_IRQHandler(void)
{
if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE) == SET)
{
//USART_SendData(USART2, USART_ReceiveData(USART2));
}
}
void USART1_IRQHandler(void) //串口2中断服务程序
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
}
}
下一篇: STM32步进电机加减速
史海拾趣
|
大家来说说你说知道的低功耗单片机或者微控制器吧 现在低功耗问题是个单片机和微控制器设计过程中需要经常考虑的问题,各厂家也是大唱低功耗主题。 那么我们来讨论一下各种微控制器在这方面的表现吧… 查看全部问答> |
|
急问:请大侠给一张用ARM处理器或C52带解码功能的MP3电路原理图! 请高手帮帮我,急用! 原理图需要包括: 1 处理器(带解码) 2 存储器 3 电源模块 4 音频放大 5 驱动USB口… 查看全部问答> |
|
编译完evc后不自动连接connecting,我的sdk是生成时没有kitl的,我装上相应的sdk后还能在evc编译相应的应用程序是连接成功吗,如果不成功,请问怎么关掉那个自动连接。谢谢了… 查看全部问答> |
|
我的转换后的测量数据和模拟输入的值不大一样,谁对这边比较全面, 加我qq;82197730 帮我弄明白后加分给阁下. 某资料上说 \"ADC的精度也受到ADC时钟的影响。推荐最大的ADC时钟频率受内部DAC转换电路的限制,为了优化性能,ADC时钟不要超过200KHz ...… 查看全部问答> |
|
求助 cvi 函数GetExternalModuleAddr问题 大家好,我在CVI调用GetExternalModuleAddr函数时报错,返回值是-5,Undefined references,打开的是.lib,请教如何解决?… 查看全部问答> |
|
2010年度大学生《最佳雇主调查报告》5日下午在北京发布,中国大学毕业生找工作首选国企,次选合资以及事业单位,外企跌出前三位落到第五名。由中华英才网主办的“大学生最佳雇主调查活动”历时半年,覆盖全国各地700多所高校,由近20万名大 ...… 查看全部问答> |
|
MSP430X32X微控制器的片内A/D TI的MSP430系列微控制器 TI公司的MSP430系列微控制器包含430X11X、430X31X、430X32X、430X33X等几种型号。可根据不同的应用目标作有针对性的选择。 MSP430系列微控制器在性能上有一定的特色, ...… 查看全部问答> |




