历史上的今天
返回首页

历史上的今天

今天是: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)   
    {

    }

}


推荐阅读

史海拾趣

Fischer Elektronik公司的发展小趣事

为了更好地服务全球客户,Fischer Elektronik积极实施国际化战略。公司在全球范围内建立了多个生产基地和销售网络,以确保能够快速响应市场需求并提供高质量的产品和服务。通过多年的努力,Fischer Elektronik已经成功进入了众多国际市场,并与众多知名企业建立了长期合作关系。这些合作不仅提升了公司的品牌知名度,也为其带来了更多的商业机会和发展空间。

Ampex Data Systems Group公司的发展小趣事

Fischer Elektronik深知每个客户的需求都是独特的,因此公司非常注重提供客户定制化的解决方案。公司拥有一支专业的研发团队和先进的生产设备,能够根据客户的具体需求,设计并生产出符合其要求的产品。这种高度定制化的服务模式,赢得了众多客户的信赖和好评,也为公司赢得了更多的市场份额。

迈翔科技(COILMX)公司的发展小趣事

进入21世纪后,迈翔科技面临了来自国内外同行的激烈竞争。为了保持竞争力,公司投入大量资源进行技术研发和创新。通过不懈努力,公司成功开发出了一系列高性能的贴片功率电感和大电流电感,这些产品凭借卓越的性能和稳定的品质,迅速获得了市场的认可。

Amerace Electronic Components公司的发展小趣事

为了确保产品质量和客户满意度,Amerace Electronic Components公司建立了严格的质量管理体系。公司引进了先进的生产设备和技术,并对生产过程进行严格的监控和管理。同时,Amerace还注重员工培训和技能提升,确保员工具备高度的专业素养和责任意识。这些措施使得Amerace的产品质量得到了有效保障,赢得了客户的信任和支持。

ABCO公司的发展小趣事

ABCO公司深知产品质量是企业生存的根本。因此,公司建立了一套严格的质量管理体系,从原材料采购到产品生产、检测、出厂等各个环节都进行严格把控。同时,公司还注重持续改进,不断优化生产流程,提高生产效率,确保产品质量始终保持在行业前列。

Ametek公司的发展小趣事

ABCO公司深知产品质量是企业生存的根本。因此,公司建立了一套严格的质量管理体系,从原材料采购到产品生产、检测、出厂等各个环节都进行严格把控。同时,公司还注重持续改进,不断优化生产流程,提高生产效率,确保产品质量始终保持在行业前列。

问答坊 | AI 解惑

讨论--大家来说说你说知道的低功耗单片机或者微控制器吧

大家来说说你说知道的低功耗单片机或者微控制器吧     现在低功耗问题是个单片机和微控制器设计过程中需要经常考虑的问题,各厂家也是大唱低功耗主题。 那么我们来讨论一下各种微控制器在这方面的表现吧…

查看全部问答>

在EVC里,如何计时?

注意 ,在这里我说的不是定时,而是计时,也就是从程序的某个地方开始到某个语句结束时系统花费的时间 ,最好精确到微妙 。。 谢谢赐教 …

查看全部问答>

学习c51单片机应该去哪个社区?

最近师傅让我学习硬件,要我加强硬件基础 刚学单片机 请问学习c51单片机应该去哪个社区?…

查看全部问答>

急问:请大侠给一张用ARM处理器或C52带解码功能的MP3电路原理图!

请高手帮帮我,急用! 原理图需要包括: 1 处理器(带解码) 2 存储器 3 电源模块 4 音频放大 5 驱动USB口…

查看全部问答>

编译完evc后不自动连接connecting

编译完evc后不自动连接connecting,我的sdk是生成时没有kitl的,我装上相应的sdk后还能在evc编译相应的应用程序是连接成功吗,如果不成功,请问怎么关掉那个自动连接。谢谢了…

查看全部问答>

谁写过avr的ad转换函数并且对这些ad转换很清楚?

我的转换后的测量数据和模拟输入的值不大一样,谁对这边比较全面, 加我qq;82197730 帮我弄明白后加分给阁下. 某资料上说 \"ADC的精度也受到ADC时钟的影响。推荐最大的ADC时钟频率受内部DAC转换电路的限制,为了优化性能,ADC时钟不要超过200KHz ...…

查看全部问答>

新手如何学习嵌入式

各位前辈,新手如何快速学习嵌入式?学习嵌入式需要掌握哪些基本的知识? 请大家回复!谢谢!…

查看全部问答>

求助 cvi 函数GetExternalModuleAddr问题

大家好,我在CVI调用GetExternalModuleAddr函数时报错,返回值是-5,Undefined references,打开的是.lib,请教如何解决?…

查看全部问答>

大学生眼中的最佳雇主:国企超6成

  2010年度大学生《最佳雇主调查报告》5日下午在北京发布,中国大学毕业生找工作首选国企,次选合资以及事业单位,外企跌出前三位落到第五名。由中华英才网主办的“大学生最佳雇主调查活动”历时半年,覆盖全国各地700多所高校,由近20万名大 ...…

查看全部问答>

★MSP430X32X微控制器的片内A/D

MSP430X32X微控制器的片内A/D   TI的MSP430系列微控制器   TI公司的MSP430系列微控制器包含430X11X、430X31X、430X32X、430X33X等几种型号。可根据不同的应用目标作有针对性的选择。 MSP430系列微控制器在性能上有一定的特色, ...…

查看全部问答>