那位高手帮忙看看,下面的代码。我要做一个485的从机通讯程序 。现在设置好以后,发送地址帧 pariy_bit=1 的数据“05” 进不了中断。
INT16U usFdiv;
SYSAHBCLKCTRL |= (1ul << 12);
UARTCLKDIV = 0x01;
U0LCR = 0x83;
usFdiv = (FAHBCLK / UARTCLKDIV / 16) / UART_BPS;
U0DLM = usFdiv / 256;
U0DLL = usFdiv % 256;
U0LCR = 0x03;
U0FCR = 0x07;
U0IER = 0x01;
U0RS485CTRL=0x07; //自动检测地址状态
U0ADRMATCH=0x05; //默认地址为 5 实际应用时应设置为设备的实际地
如果去掉最后面的两条语句则可以正常中断。只是数据帧,地址帧都会产生中断。如果挂在总线上,区分不了地址和数据那基本没法用啊。有没有用M0做过485总线通讯的的高手帮忙指点一下。 |