打印
[STM8]

求教,stm8s105c4的pd7管脚控制问题

[复制链接]
1496|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
honeycat205|  楼主 | 2011-7-22 12:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
iar,使用2.0版本库文件

应用在485的收发控制,stm8s105c4的pd7管脚总莫名其妙被置高,造成485总线无法通讯。仔细检查程序其他地方根本没有对其操作的语句,而且采用计数的方式检查pd7操作流程(置高、置底),发现出错时操作也完全正常,程序如下

#define CS_RX     GPIO_WriteLow (GPIOD, GPIO_PIN_7)      //485接收
#define CS_TX    GPIO_WriteHigh(GPIOD, GPIO_PIN_7)      //485发送

GPIO_Init(GPIOD, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_SLOW);  

INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20)
{
    /* In order to detect unexpected events during development,
       it is recommended to set a breakpoint on the following instruction.
    */
    static u8 rr;
     
    if(UART2_GetFlagStatus(UART2_FLAG_TXE) != RESET)
    {
      UART2_SendData9(Usart_TX_Buf[rr]);
      rr ++;
      if(rr == Usart_TX_Count)
      {
        while (UART2_GetFlagStatus(UART2_FLAG_TC) == RESET);//等待发送完毕
        rr=0;      
        CS_RX;//485接收状态
        UART2_ITConfig(UART2_IT_TXE, DISABLE);
      }
    }
}

我还怀疑是tli的问题,但选项字设置为tim1-ch4后问题依旧,实在是感觉莫名其妙,请哪位大侠给点思路
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

1

粉丝