OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3445|回复: 2

请求大佬帮忙看看关于407探索者的串口2配置有没有错误,还有他串口2是TTL还是232还是485

[复制链接]

2

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2019-8-8
在线时间
42 小时
发表于 2020-7-13 19:06:08 | 显示全部楼层 |阅读模式
10金钱
请求大佬帮忙看下串口的基本配置和传输有没有问题
配置
  1. void uart2_init(u32 bound){

  2.   GPIO_InitTypeDef GPIO_InitStructure;
  3.         USART_InitTypeDef USART_InitStructure;
  4.         NVIC_InitTypeDef NVIC_InitStructure;
  5.        
  6.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
  7.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);


  8.         GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_USART2); //GPIOA2
  9.         GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_USART2); //GPIOA3
  10.        
  11.         //USART1¶Ë¿úÅäÖÃ
  12.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //GPIOA2óëGPIOA3
  13.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  15.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  16.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  17.         GPIO_Init(GPIOA,&GPIO_InitStructure);
  18.        
  19.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  20.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  21.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  22.        

  23.    //USART2
  24.         USART_InitStructure.USART_BaudRate = bound;
  25.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  26.         USART_InitStructure.USART_StopBits = USART_StopBits_1;
  27.         USART_InitStructure.USART_Parity = USART_Parity_No;
  28.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  29.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  30.   USART_Init(USART2, &USART_InitStructure);
  31.        
  32.   USART_Cmd(USART2, ENABLE);
  33.        
  34.         //USART_ClearFlag(USART1, USART_FLAG_TC);
  35.        
  36. #if EN_USART2_RX       
  37.         USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);

  38.         //Usart2 NVIC
  39.   NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
  40.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
  41.         NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;
  42.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  43.         NVIC_Init(&NVIC_InitStructure);

  44. #endif
  45.        
  46. }
复制代码
发送
  1. void USART_SendString(USART_TypeDef * pUSARTx, char *str)
  2. {
  3.         unsigned int   k=0;
  4.         while(*(str+k)!='\0')
  5.         {
  6.                 USART_SendData(pUSARTx, *(str+k));

  7.                 while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
  8.                 k++;
  9.         }
  10.         while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET);
  11. }
复制代码
接收
  1. void USART2_IRQHandler(void)
  2. {
  3.         u8 Res;
  4.         static u8 count = 0;
  5. #if SYSTEM_SUPPORT_OS                 //èç1ûSYSTEM_SUPPORT_OSÎaÕæ£¬ÔòDèòaÖ§3ÖOS.
  6.         OSIntEnter();   
  7. #endif
  8.         if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
  9.         {
  10.                 Res =USART_ReceiveData(USART2);//(USART1->DR);
  11.                
  12.                 revbuf[count++] = Res;//revbuf是全局变量
  13.                 if(count==5){
  14.                         count=0;
  15.                 }
  16.                  
  17.         }
  18. #if SYSTEM_SUPPORT_OS
  19.         OSIntExit();                                                                                           
  20. #endif
  21. }
复制代码
关于407探索者的串口是TTL还是232还是485
最后那个六个排针,(com_TX,com_RX)对应TTL, (PA2_TX, PA3_RX)对应232, (485_TX, 485_RX)对应485是吗?

最佳答案

查看完整内容[请看2#楼]

这个你得看教程。6个针,COM代表RS232的意思,PA2,PA3就是MCU IO了。 485、就是对应485芯片
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-7-13 19:06:09 | 显示全部楼层
这个你得看教程。6个针,COM代表RS232的意思,PA2,PA3就是MCU IO了。 485、就是对应485芯片
回复

使用道具 举报

2

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2019-8-8
在线时间
42 小时
 楼主| 发表于 2020-7-14 14:22:01 | 显示全部楼层
正点原子 发表于 2020-7-13 23:21
这个你得看教程。6个针,COM代表RS232的意思,PA2,PA3就是MCU IO了。 485、就是对应485芯片

好的,已经调通,谢谢原子哥
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 16:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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