mega128讀寫ch375的文件讀寫模塊

1.我用mega128讀寫ch375的文件讀寫模塊,看了給的例程PARA_INT中的CH375HMP.C,其中有下面的定義地址: #define CH375HM_INDEX XBYTE[0xBCF0] /* CH375模塊的索引端口的I/O地址 */ #define CH375HM_DATA XBYTE[0xBDF1] /* CH375模塊的數(shù)據(jù)端口的I/O地址 */ 這兩個(gè)地址是怎么確定的啊?

現(xiàn)在的硬件連接是: /* mega128引腳 CH375芯片的引腳 INT0 INT# PORTD.7 A0 PORTD.6 CS# PORTD.5 WR# PORTD.4 RD# PORTA(8位端口) D7-D0 */

2.還有下面的3個(gè)子程序如何修改?。? /* 對(duì)于模擬的并口讀寫時(shí)序或者其它并口讀寫方式,請(qǐng)修改以下3個(gè)子程序 */ #define CH375HM_INDEX_WR( Index ){ CH375HM_INDEX = (Index); } /* 寫索引地址 */ #define CH375HM_DATA_WR( Data ) { CH375HM_DATA = (Data); } /* 寫數(shù)據(jù) */ #define CH375HM_DATA_RD( ) ( CH375HM_DATA ) /* 讀數(shù)據(jù) */

本人對(duì)51不是很了解,現(xiàn)在想移植到AVR上,哪位大蝦給小弟指導(dǎo)啊?

上面是采用總線方式,寫索引地址的時(shí)候,CS=0,A0=0,寫數(shù)據(jù)的時(shí)候CS=0,A0=1,在AVR上面一樣確定地址


哦,那也可以不使用總線方式吧。我使用下面三個(gè)改寫的底層函數(shù),怎么老是檢測(cè)不到USB連接呢? (跳不出循環(huán)while ( mIntStatus != ERR_USB_CONNECT );) 你看有什么問題???

/* 單片機(jī)的引腳 CH375芯片的引腳 INT0 INT# PORTD.7 A0 PORTD.6 CS# PORTD.5 WR# PORTD.4 RD# PORTB(8位端口) D7-D0 */

/* 1.寫索引地址 */ void CH375HM_INDEX_WR( unsigned int mCmd ) /* 外部定義的被CH375程序庫(kù)調(diào)用的子程序,向CH375寫命令 */ { delay_us(2); // 延時(shí) DDRB = 0xFF; // 設(shè)置并口D0-D7輸出 PORTB = mCmd; // 向并口輸出數(shù)據(jù) PORTD = 0x1F; // A0=0; CS=0; WR=0; RD=1; delay_us(2); // 延時(shí) PORTD = 0xFF; // 輸出無效的控制信號(hào), 完成操作, A0=0; CS=1; WR=1; RD=1; delay_us(2); // 延時(shí) }

/* 2.寫數(shù)據(jù) */ void CH375HM_DATA_WR( unsigned int mData ) /* 外部定義的被CH375程序庫(kù)調(diào)用的子程序,向CH375寫數(shù)據(jù) */ { delay_us(2); // 延時(shí) DDRB = 0xFF; // 并口D0-D7輸出 PORTB = mData; // 向并口輸出數(shù)據(jù) PORTD = 0x9F; // 輸出有效寫控制信號(hào), 寫CH375芯片的數(shù)據(jù)端口, A0=1; CS=0; WR=0; RD=1; delay_us(2); // 延時(shí) PORTD = 0xFF; // 輸出無效的控制信號(hào), 完成操作, A0=1; CS=1; WR=1; RD=1; delay_us(2); // 延時(shí) }

/* 3.讀數(shù)據(jù) */ unsigned int CH375HM_DATA_RD( void ) /* 外部定義的被CH375程序庫(kù)調(diào)用的子程序,從CH375讀數(shù)據(jù) */ { unsigned int mData; delay_us(2); // 延時(shí) DDRB = 0x00; // 數(shù)據(jù)輸入 PORTD = 0xAF; // 輸出有效讀控制信號(hào), 讀CH375芯片的數(shù)據(jù)端口, A0=1; CS=0; WR=1; RD=0; delay_ms(2); // 延時(shí) mData = PINB; // 從CH375的并口PB輸入數(shù)據(jù) PORTD = 0xFF; // 輸出無效的控制信號(hào), 完成操作CH375芯片, A0=1; CS=1; WR=1; RD=1; delay_us(2); // 延時(shí) return( mData ); }}


問下你是使用模塊呢還是使用我們的CH375芯片呢?如果是使用模塊的話上面的程序沒什么問題,如果是使用芯片的話,那么需要在寫命令的時(shí)候A0=1,寫數(shù)據(jù)的時(shí)候A0=0


使用的是模塊。好了,可以讀寫文件了,就是不太穩(wěn)定,有時(shí)出現(xiàn)錯(cuò)誤狀態(tài)。呵呵,多謝了!


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

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