OpenEdv-开源电子网

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

求神指教,USAMRT移植的疑问

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2021-12-30
在线时间
4 小时
发表于 2022-1-30 15:01:55 | 显示全部楼层 |阅读模式
3金钱
在工程中,只有一个RS485串口,使用USART3的RS485串口程序移植成功,能够接收和发送,想加入USMART功能,于是想将USART.C加入对RS485 RX/TX转换的端口控制,具体做法如下:
  1. void uart_init(u32 bound){
  2.   //GPIO端口设置
  3.   GPIO_InitTypeDef GPIO_InitStructure;
  4.         USART_InitTypeDef USART_InitStructure;
  5.         NVIC_InitTypeDef NVIC_InitStructure;

  6.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);        //使能USART3,GPIOA时钟
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);        //使能USART3,GPIOB/C时钟          
  8.         //USART3_TX   PB10  GPIO_Mode_AF_PP;
  9. …………
  10.    
  11.   //USART3_RX          PB11 GPIO_Mode_IN_FLOATING
  12. …………
  13.                
  14.         //加入PC8RX/TX控制
  15.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
  16.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  17.         GPIO_Init(GPIOC,&GPIO_InitStructure);

  18.     PBout(8)=0;//默认接收   

  19. }
复制代码
我希望在每次printf()函数使用时都加入:
  1. PBout(8)=1;
  2. printf();
  3. PBout(8)=0;
复制代码
来切换485块的输入输出,但是无论怎么设置,都是printf函数能够输出,但是我想输入,输入中断始终进不去。
不知道自己错在哪里还是485就不能这么用,请大神指教。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 20:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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