找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5168|回复: 0
打印 上一主题 下一主题
收起左侧

stm32中断 USART3 重映射源码

[复制链接]
跳转到指定楼层
楼主
ID:288276 发表于 2018-3-6 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  1. #include "stm32f10x_lib.h"
  2. #include "stm32f10x_usart.h"
  3. #include "stdio.h"                          

  4. ErrorStatus HSEStartUpStatus;               
  5. void USART3_Config(void);        //串口配置
  6. void USART3_Putc(char c);        //操作串口函数
  7. void USART3_Config();
  8. void NVIC_Configuration(void);
  9.         
  10. int main(void)
  11. {
  12.    USART3_Config();        
  13.    NVIC_Configuration();        
  14. //   while(1)
  15. //   {
  16. //                        a1[0]=*(u8*)(0x1FFFF7E8);
  17. //                        a1[1]=*(u8*)(0x1FFFF7E9);
  18. //                        a1[2]=*(u8*)(0x1FFFF7EA);
  19. //                        a1[3]=*(u8*)(0x1FFFF7EB);
  20. //                        a1[4]=*(u8*)(0x1FFFF7EC);
  21. //                        a1[5]=*(u8*)(0x1FFFF7ED);
  22. //                        a1[6]=*(u8*)(0x1FFFF7EE);
  23. //                        a1[7]=*(u8*)(0x1FFFF7EF);
  24. //                        a1[8]=*(u8*)(0x1FFFF7F0);
  25. //                        a1[9]=*(u8*)(0x1FFFF7F1);
  26. //                        a1[10]=*(u8*)(0x1FFFF7F2);
  27. //                        a1[11]=*(u8*)(0x1FFFF7F3);
  28. //                        USART2_Putc(0);
  29. //                        USART2_Putc(0);
  30. //      USART3_Putc(a0);
  31. //      USART3_Putc(a1);
  32. //      USART3_Putc(a2);
  33. //      USART3_Putc(a3);
  34. //      USART3_Putc(a4);
  35. //      USART3_Putc(a5);
  36. //      USART3_Putc(a6);
  37. //      USART3_Putc(a7);
  38. //      USART3_Putc(a8);
  39. //      USART3_Putc(a9);
  40. //      USART3_Putc(a10);
  41. //      USART3_Putc(a11);
  42.   // }
  43. }



  44. void USART3_Config()
  45. {
  46.         USART_InitTypeDef USART_InitStructure;
  47.         GPIO_InitTypeDef GPIO_InitStructure;
  48.         
  49.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO,ENABLE);
  50.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
  51.         
  52.         GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
  53.         //TX        
  54.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
  55.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
  56.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  57.          GPIO_Init(GPIOC,&GPIO_InitStructure);
  58.         //RX        
  59.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
  60.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
  61.          GPIO_Init(GPIOC,&GPIO_InitStructure);
  62.         
  63.         //usart1 mode configuration
  64.         USART_InitStructure.USART_BaudRate=115200;
  65.         USART_InitStructure.USART_WordLength=USART_WordLength_8b;
  66.         USART_InitStructure.USART_StopBits=USART_StopBits_1;
  67.         USART_InitStructure.USART_Parity=USART_Parity_No;
  68.         USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
  69.         USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
  70.         USART_Init(USART3,&USART_InitStructure);//
  71.         USART_Cmd(USART3,ENABLE);//
  72.         
  73.         USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//???
  74.         USART_ITConfig(USART3,USART_IT_TXE,ENABLE);//??????//
  75. }

  76. void USART3_Putc(char c)//操作串口函数
  77. {
  78.    USART_SendData(USART3,c);
  79.    while(USART_GetFlagStatus(USART3,USART_FLAG_TXE)==RESET);
  80. }

  81. void NVIC_Configuration(void)        
  82. {                            /* ??????? */
  83.   NVIC_InitTypeDef NVIC_InitStructure;  
  84.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
  85. /*??????:EXTI?0??,????????PA0?*/
  86.   NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQChannel;
  87.    /* 0???????,0????? */
  88.   //NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
  89.   NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;  
  90.   /* ????????? */
  91.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  92.   /* ??NVIC_Init????????? */
  93.   NVIC_Init(&NVIC_InitStructure);
  94. }

复制代码

所有资料51hei提供下载:
9_中断 USART3 重映射.zip (408.85 KB, 下载次数: 34)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表