打印
[技术问答]

ISP 程序为UARTRS232 如何修改成 RS485(spe3072)的

[复制链接]
2341|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在官方给的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

沙发
缥缈九哥| | 2013-8-29 17:07 | 只看该作者
收发能改成自动使能吗?不如做硬件自动收发算了。如:

使用特权

评论回复
板凳
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了

使用特权

评论回复
5
zxf0168| | 2014-1-27 22:21 | 只看该作者
楼主你的问题解决了?

使用特权

评论回复
6
从小木丁丁| | 2014-3-28 10:56 | 只看该作者
panyibin133 发表于 2013-8-30 08:13
硬件已经试产了,改得话重新制版很麻烦,所以想从软件下手改,而且板子是mini54,tx,rx连得0.0,0.1口,自 ...

楼主问题解决了?反馈一下吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

29

帖子

1

粉丝