CH382自寫驅(qū)動(dòng)問題求助

目標(biāo):驅(qū)動(dòng)CH382通過串口發(fā)送數(shù)據(jù)

問題:PCIe的RC訪問PCIe時(shí)要求4字節(jié)對(duì)齊訪問,目前串口可以發(fā)送數(shù)據(jù),但是波特率不對(duì),看上去就像是波特率分頻寄存器的值全是FF,程序如下:

初始化:

? /*
? *(uint32_t *)((char*)pcieIOBase + 0xC0 + LCR) = 0x80;
? *(uint32_t *)((char*)pcieIOBase + 0xC0 + DLL) = 0x0C;
? *(uint32_t *)((char*)pcieIOBase + 0xC0 + DLM) = 0x00;
? *(uint32_t *)((char*)pcieIOBase + 0xC0 + LCR) = 0x03;
? *(uint32_t *)((char*)pcieIOBase + 0xC0 + FCR) = 0x01;
*/
? *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x80000000;
? *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x8000000C;
? *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x0300000C;
? *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x03010000;

發(fā)送:

*(uint32_t *)((char*)pcieIOBase + 0xC0 + 0) = i + 0x03010000;

由于對(duì)CH382內(nèi)部PCIe處理情況不是很了解,上述代碼是否存在問題呢?


不好意思,可以了,按照字節(jié)訪問試了一下是可以的,昨天有個(gè)地方搞錯(cuò)了

? *((char*)pcieIOBase + 0xC0 + LCR) = 0x80;
? *((char*)pcieIOBase + 0xC0 + DLL) = 0x0C;
? *((char*)pcieIOBase + 0xC0 + DLM) = 0x00;
? *((char*)pcieIOBase + 0xC0 + LCR) = 0x03;
? *((char*)pcieIOBase + 0xC0 + FCR) = 0x01;


還是有些問題,LSR的讀取不到,只是能夠按照設(shè)定的波特率發(fā)送了。

再問一下,RC這端按照DWORD訪問CH382的IO地址空間是否存在問題?

按照樓主位置的代碼,發(fā)現(xiàn)波特率不對(duì),請(qǐng)官方技術(shù)指導(dǎo)一下!多謝!


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频