第一次使用CH372,請(qǐng)教下WCH技術(shù)人員有關(guān)MCU給CH372傳輸數(shù)據(jù)的問題,子程序如下:
向CH375寫數(shù)據(jù)函數(shù)
********************************************/
void WR_DAT_ch375(unsigned char dat)
{
PORTC &= ~(1 << A0);?//A0 = Low 選擇輸出是數(shù)據(jù)
PORTC &= ~(1 << WR);//WR = Low 選擇寫
DDRA = 0xFF;
NOP;? //兩個(gè)空操作,CH375時(shí)序要求(不使用時(shí)也可以,為了穩(wěn)定還是加了)
NOP;
PORTA = dat;? //端口寫數(shù)據(jù)(0x55)
}
/*******************************************
用WR_USB_DATA7 從端點(diǎn)2寫數(shù)據(jù),假設(shè)要寫1位數(shù)據(jù),是否執(zhí)行上面這個(gè)子程序1次即可?
用WR_USB_DATA7 從端點(diǎn)2寫數(shù)據(jù),假設(shè)要寫10組數(shù)據(jù),是否循環(huán)執(zhí)行上面這個(gè)子程序10次即可?考慮到10次循環(huán)中A0,WR 沒有變化,是否意味著寫N組數(shù)據(jù)實(shí)際就是連續(xù)往端點(diǎn)2扔N組數(shù)據(jù)即可?
如何通知CH372 MCU已經(jīng)數(shù)據(jù)寫完畢?好像沒有看到送結(jié)束的標(biāo)志。
WR_USB_DATA7的命令中包含數(shù)據(jù)長度,是否在數(shù)據(jù)長度定義數(shù)量,例如數(shù)據(jù)長度是10,那CH372在收到10個(gè)數(shù)據(jù)后認(rèn)為就結(jié)束了,以數(shù)據(jù)長度作為結(jié)束標(biāo)志?沒有10就一直等,超出10就不認(rèn)了?
USB端口2如果是64的包,如果需要送128的數(shù)據(jù)那就意味著2個(gè)包,那是否第一個(gè)包循環(huán)上面子程序64次,第二包如何操作?尤其是第1和第2包的間隔需要怎么處理?是否可以直接循環(huán)子程序128次?