[技术问答] ISP 程序为UARTRS232 如何修改成 RS485(spe3072)的

[复制链接]
2819|5
 楼主| panyibin133 发表于 2013-8-29 15:50 | 显示全部楼层 |阅读模式
在官方给的ISP程序中修改,我的LDROM只有2k,不修改硬件连接,
void UART0_IRQHandler(void){  

       
                if (inpw(&UART0->ISR/*COM_ISR*/) & 0x11) //RDA FIFO interrupt or RDA timeout interrupt
                   {
                           while(((inpw(&UART0->FSR/*COM_FSR*/) & (0x4000)) == 0) && (bufhead < 64))//RX fifo not empty
                        P53_DOUT=1;
                        uart_rcvbuf[bufhead++] = inpw(&UART0->RBR/*COM_RX*/);
                }
       
                if(bufhead == 64)
                {
                        bUartDataReady = TRUE;
                        bufhead = 0;
                        P53_DOUT=0;
                }

}
static __inline void UartInit(void)
{
           outpw(&GCR->P0_MFP, 0x303);

       GCR->IPRST_CTL2_BITS.UART_RST = 1;
    GCR->IPRST_CTL2_BITS.UART_RST = 0;

       CLK->APBCLK_BITS.UART_EN = 1;

    /* Select UART clock source */
    CLK->CLKSEL1_BITS.UART_S = 2;//0:12M; 2:22.1184M

    /* Data format */
    UART0->LCR_BITS.WLS = 3;

        outpw(&UART0->FCR, 0x32);//14
        UART0->TOR_BITS.TOIC = 0x40;

    /* Configure the baud rate */
    //BaudRateCalculator(SystemFrequency, 115200, &UART0->BAUD);

//22.1184M
         *((__IO uint32_t *)&UART0->BAUD) = 0x2F00000A;//115200
         //*((__IO uint32_t *)&UART0->BAUD) = 0x3F00017B;//0x16//57600


    NVIC_SetPriority (UART0_IRQn, 2);
    NVIC_EnableIRQ(UART0_IRQn);

    //UART0->IER.RDA_IEN = 1;UART0->IER.TOC_IEN = 1;UART0->IER.TOC_EN = 1;//Enable Timeout Counter
        outpw(&UART0->IER, 0x811);

}串口的初始化需要修改吗?
上面的中断里面5.3口连接的是RE/DE我可以直接置高置低吗?

Rs485.rar

14.62 KB, 下载次数: 23

缥缈九哥 发表于 2013-8-29 17:07 | 显示全部楼层
收发能改成自动使能吗?不如做硬件自动收发算了。如: RS485.jpg
 楼主| panyibin133 发表于 2013-8-30 08:13 | 显示全部楼层
硬件已经试产了,改得话重新制版很麻烦,所以想从软件下手改,而且板子是mini54,tx,rx连得0.0,0.1口,自动流控是和这两个引脚复用的。不知道怎么改,RE/DE连得是PIN5.3口
 楼主| panyibin133 发表于 2013-9-2 00:32 | 显示全部楼层
缥缈九哥 发表于 2013-8-29 17:07
收发能改成自动使能吗?不如做硬件自动收发算了。如:

9G板子已经封装好了用30PIN针的接口的,只拉了A,B线路是如附件连接的,是mini54ZAN(33QFPPin),而且RE/DE连的是GPIO5.3,TX为0.0,RX为0.1;所以纠结软件上可以如何改,是少开关的延时吗?刚接触mini51两个月好多问题麻烦9G了
zxf0168 发表于 2014-1-27 22:21 来自手机 | 显示全部楼层
楼主你的问题解决了?
从小木丁丁 发表于 2014-3-28 10:56 | 显示全部楼层
panyibin133 发表于 2013-8-30 08:13
硬件已经试产了,改得话重新制版很麻烦,所以想从软件下手改,而且板子是mini54,tx,rx连得0.0,0.1口,自 ...

楼主问题解决了?反馈一下吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

29

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部