GD32串口0与串口1 用作485通讯测试

本文介绍了在GD32上使用串口0和串口1进行485通讯的测试过程,包括串口初始化、引脚映射的影响以及在模式转换时的延时需求。在测试中遇到定时器1中断影响数据发送的问题,可能的原因是定时器地址与数组地址冲突。目前通过调整临时数组赋值位置解决了该问题,实现了正常的485通讯,后续将按照通讯协议继续开发。
摘要由CSDN通过智能技术生成

 

 

  1.  rcu_periph_clock_enable(RCU_GPIOB);//使能GPIOB
        rcu_periph_clock_enable( RCU_USART0);//使能串口0
    		rcu_periph_clock_enable( RCU_AF);//使能备用时钟
        gpio_pin_remap_config( GPIO_USART0_REMAP,ENABLE); //引脚重映射
    
        /* connect port to USARTx_Tx */
        gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);//配置PB6 复用推挽输出 TX
    
        /* connect port to USARTx_Rx */
        gpio_init(GPIOB, GPIO_MODE_IN_FLOATING , GPIO_OSPEED_50MHZ, GPIO_PIN_7);//配置PB7 模拟输入 RX
    
    		
        gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);//配置PB5 推挽输出  485使能端口
    			
    		//gpio_bit_set(GPIOB, GPIO_PIN_5);   //PB5置1  485发送使能
    		gpio_bit_reset(GPIOB, GPIO_PIN_5); //PB5置0  485接收使能
        /* USART configure */
        //usart_deinit(USART0);//?????
        usart_baudrate_set(USART0, 115200U);//波特率
    		usart_parity_config(USART0, USART_PM_NONE);//无奇偶检验
    		usart_word_length_set(USART0, USART_WL_8BIT);//8位数据
    		usart_stop_bit_set(USART0, USART_STB_1BIT);//
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值