鎶€琛�(sh霉)闋婚亾

濞撳〒宸ユキ(y猫)
鎮ㄧ従(xi脿n)鍦ㄧ殑浣嶇疆锛� 涓湅鍌冲嫊缍�(w菐ng) > 鎶€琛�(sh霉)闋婚亾 > 鎶€琛�(sh霉)鐧剧 > 鍩轰簬MCP2515鐨勫璺疌AN绺界窔鎺ュ彛鍙婇﹨(q奴)鍕曠▼搴忚ō(sh猫)瑷�

鍩轰簬MCP2515鐨勫璺疌AN绺界窔鎺ュ彛鍙婇﹨(q奴)鍕曠▼搴忚ō(sh猫)瑷�

鏅傞枔锛�2008-10-08 11:55:00渚嗘簮锛歳onggang

灏�(d菐o)瑾烇細?鐐轰簡鑸囧鍊嬫娓ō(sh猫)鍌欓€氫俊锛屽繀闋堝悓鏅傚叿鏈夊鍊婻S232銆丷S485鍜孋AN鎺ュ彛?锛涱媱璋禓绋噳(y墨ng)鐢ㄩ渶瑕�锛屾湰鏂囨彁鍑轰簡鎿�(ku貌)灞曞鍊婥AN绺界窔鎺ュ彛鐨勬柟娉�
寮曡█ 銆€銆€鍦ㄩ惖璺郴绲�(t菕ng)涓�锛岀偤浜嗕繚璀夊垪杌婄殑瀹夊叏閬嬭锛岄渶瑕佸皪閻佃粚鍙婂懆鍦嶇媭娉侀€�(j矛n)琛屽鏅傛娓�銆傜洰鍓嶉噰鐢ㄧ殑鏂规硶鏄湪閻佃矾娌跨窔瀹夎澶氬€嬫娓ō(sh猫)鍌�锛岀敤浜庢娓椽姘�銆佸ぇ棰�(f膿ng)銆佹偿鐭虫祦绛夎嚜鐒剁伣(z膩i)瀹冲強杌屾韩绛夊弮鏁�(sh霉)銆傞€欎簺瑷�(sh猫)鍌欎竴鑸噰鐢ㄧ殑閫氫俊鏂瑰紡鏄疪S232銆丷S485鎴朇AN锛屽苟閫氶亷灏堢窔閫f帴鑷崇洠(ji膩n)鎺т腑蹇冪殑鍚勫€嬬洠(ji膩n)鎺цō(sh猫)鍌欍€傞€欑ó鏂瑰紡妤靛ぇ娴不浜嗙窔璺硣婧�锛屼篃涓嶆槗浜庤ō(sh猫)鍌欑殑绲�(t菕ng)涓€绠$悊銆傚洜姝わ紝闇€瑕佷竴绋畨瑁濆湪閻佃矾娌跨窔鐨勮ō(sh猫)鍌�锛屽畠灏囬檮杩戠殑妾㈡脯瑷�(sh猫)鍌欑櫦(f膩)閫佺殑淇℃伅绲�(t菕ng)涓€鏀堕泦骞堕€氶亷涓€姊濆皥绶氱洿鎺ラ€佸線鐩�(ji膩n)鎺т腑蹇�銆傜偤浜嗚垏澶氬€嬫娓ō(sh猫)鍌欓€氫俊锛屽繀闋堝悓鏅傚叿鏈夊鍊婻S232銆丷S485鍜孋AN鎺ュ彛?锛涱媱璋禓绋噳(y墨ng)鐢ㄩ渶瑕�锛屾湰鏂囨彁鍑轰簡鎿�(ku貌)灞曞鍊婥AN绺界窔鎺ュ彛鐨勬柟娉�銆� 1 绯荤当(t菕ng)绲�(ji茅)妲�(g貌u) 銆€銆€1.1 鑺墖浠嬬垂绯荤当(t菕ng) 銆€銆€閲囩敤Atmel鍏徃鐨凙T91RM9200锛堜互涓嬬啊绋扁€�9200鈥濓級浣滅偤MCU銆傝┎铏曠悊鍣ㄥ熀浜嶢RM920T鍏�(n猫i)鏍�锛屼富闋荤偤180 MHz鏅�锛屾€ц兘鍙仈(d谩)鍒�200MIPS;鏈€楂樹富闋荤偤209 MHz銆傝┎铏曠悊鍣ㄩ倓鍏锋湁璞愬瘜鐨勫瑷�(sh猫)璩囨簮锛岄潪甯搁仼鍚堝伐妤�(y猫)鎺у埗闋�(l菒ng)鍩熺殑鎳�(y墨ng)鐢╗1];閲囩敤鐨勬搷浣滅郴绲�(t菕ng)鏄疉RMLinux锛屽収(n猫i)鏍哥増鏈偤2.4.19銆� 銆€銆€鐩墠涓绘祦鐨凜AN鍗�(xi茅)璀版帶鍒跺櫒涓€鑸噰鐢↖/O绺界窔锛圫JA1000绛夛級鎴朣PI鎺ュ彛锛圡CP2515绛夛級鑸嘙CU閫�(j矛n)琛岄€氫俊銆傜敱浜庢湰瑷�(sh猫)瑷堥噰鐢≒C /104绺界窔鎿�(ku貌)灞曞崱鐨勬柟寮忎締鎿�(ku貌)灞曞鍊婻S232鍜孯S485鎺ュ彛锛屾矑鏈夊浣欑殑I/O鐗囬伕绶氬彲鐢�锛屽洜姝ゆ渶绲傞伕鐢�9200鐨凷PI鎺ュ彛鑸嘙CP2515閫�(j矛n)琛屽璺疌AN绺界窔鎺ュ彛鐨勬摯(ku貌)灞曘€� 銆€銆€MCP2515鏄疢icrochip鍏徃鎺ㄥ嚭鐨勫叿鏈塖PI鎺ュ彛鐨勭崹绔婥AN鎺у埗鍣�銆傚畠瀹屽叏鏀寔CAN V2.0B鎶€琛�(sh霉)瑕�(gu墨)鑼冿紝閫氫俊閫熺巼鏈€楂樺彲閬�(d谩)1 Mbps锛屽収(n猫i)鍚�3鍊嬬櫦(f膩)閫佺珐娌栧櫒銆�2鍊嬫帴鏀剁珐娌栧櫒銆�6鍊�29浣嶉鏀舵烤娉㈠瘎瀛樺櫒鍜�2鍊�29浣嶉鏀跺睆钄藉瘎瀛樺櫒[2];瀹冪殑SPI鎺ュ彛鏅傞悩闋荤巼鏈€楂樺彲閬�(d谩)10 MHz锛屽彲婊胯冻涓€鍊婼PI涓绘(j墨)鎺ュ彛鎿�(ku貌)灞曞璺疌AN绺界窔鎺ュ彛鐨勯渶瑕�銆� 銆€銆€1.2 绯荤当(t菕ng)纭欢鎺ュ彛 銆€銆€鍦�1鏄�9200鑸嘙CP2515鐨勬帴鍙e師鐞嗘鍦�锛岄€氶亷9200鐨凷PI鎺ュ彛锛岄€f帴浜�5鍊婱CP2515銆傜敱浜�9200鐨凷PI寰炶ō(sh猫)鍌欑墖閬哥窔鏁�(sh霉)閲忔湁闄�锛屾晠閲囩敤鐗囬伕璀⒓鏂瑰紡锛孨PCS0鍙綔鐐烘櫘閫氱殑澶栭儴涓柗绶氫娇鐢紙NPCS0鑸嘔RQ5寰�(f霉)鐢ㄥ紩鑵筹級銆傜敱浜�9200鐨勫閮ㄤ腑鏂风窔璩囨簮鏈夐檺锛屾晠閲囩敤涓柗绶氬叡浜殑鏂瑰紡锛屽嵆鍒嗗垾鏈夊叐鍊婱CP2515鍏变韩鍚屼竴涓柗绶�锛屾渶鍚庝竴鍊婱CP2515鐛ㄥ崰涓€姊濅腑鏂风窔锛屼互婊胯冻涓嶅悓閫氫俊閫熺巼涓嬫暩(sh霉)鎿�(j霉)铏曠悊鐨勯渶瑕�銆� [align=center]銆€銆€ 鍦�1 AT91RM9200鑸嘙CP2515鎺ュ彛鍘熺悊妗嗗湒[/align] 銆€銆€鍦�2鏄疢CP2515鐨勫鍦岰AN绺界窔鎺ュ彛妗嗗湒锛屽湒涓渷鐣ヤ簡MCP2515鍜�9200鐨勬帴鍙i儴鍒�銆傜敱浜庤ō(sh猫)鍌欓渶瑕佸畨瑁濆湪閻佃矾娌跨窔锛屽繀闋堝叿鏈夐槻闆锋搳鐨勮兘鍔�銆傚洜姝CP2515鑸嘋AN绺界窔鏀剁櫦(f膩)鍣紙TJA1050锛変箣闁撻噰鐢ㄩ珮閫熷厜鑰﹂€�(j矛n)琛屽畬鍏ㄧ殑闆绘埃闅旈洟锛屽苟涓斿厜鑰﹀叐绔浕璺殑闆绘簮涔熷繀闋堢敤闆绘簮闅旈洟妯″闅旈洟闁�锛岄€欐ǎ鎵嶈兘鐪熸璧峰埌闅旈洟鐨勪綔鐢ㄣ€傚湪TJA1050鐨凜ANH鍜孋ANL寮曡叧鑸囧湴涔嬮枔閫f帴2鍊�30 pF鐨勯浕瀹�锛屽彲浠ラ亷婵綜AN绺界窔涓婄殑楂橀牷骞叉摼;2鍊嬩簩妤电鍙互鍦ㄧ附绶氶浕澹撶櫦(f膩)鐢熺灛璁婂共鎿炬檪璧蜂繚璀�(h霉)浣滅敤銆傚厜鑰︽甯稿伐浣滄檪杓稿叆闆绘祦鐐�10 mA宸﹀彸锛屽収(n猫i)閮ㄧ櫦(f膩)鍏変簩妤电鐨勬鍚戦浕澹撻檷鐐�1.7 V宸﹀彸锛屽洜姝よ鐗瑰垾娉ㄦ剰杓稿叆绔覆鑱�(li谩n)闆婚樆鐨勯樆鍊奸伕鎿�銆� [align=center] 鍦�2 MCP2515 CAN绺界窔鎺ュ彛闆昏矾[/align] 2 SPI涓绘(j墨)鐨勫伐浣滄柟寮� 銆€銆€9200閫氶亷SPI鎺ュ彛鑸�5鍊婱CP2515閫�(j矛n)琛岄€氫俊锛�9200鐨凷PI鎺у埗鍣ㄥ伐浣滃湪涓绘(j墨)妯″紡锛孧CP2515宸ヤ綔鍦ㄥ緸姗�(j墨)妯″紡銆侻CP2515 鏀寔澶氬€嬫寚浠わ紙濡傚京(f霉)浣嶆寚浠�銆佽畝鎸囦护銆佸鎸囦护绛夛級锛屼互渚夸簬9200閫氶亷SPI鎺ュ彛灏峂CP2515鐨勫収(n猫i)閮ㄥ瘎瀛樺櫒閫�(j矛n)琛岃畝/瀵搷浣�銆�9200 SPI鎺у埗鍣ㄤ綔鐐轰富姗�(j墨)鏅傚伐浣滄ā寮忔祦绋嬪鍦�3鎵€绀篬1]銆� [align=center] 鍦�3 AT91RM9200 SPI鎺у埗鍣ㄤ富姗�(j墨)妯″紡娴佺▼[/align] 銆€銆€闇€瑕佹敞鎰忕殑鏄�锛孲PI浣胯兘鍚�锛屽彧鏈夊湪SPI_TDR锛堢櫦(f膩)閫佹暩(sh霉)鎿�(j霉)瀵勫瓨鍣級涓湁鏁�(sh霉)鎿�(j霉)鏅�锛屾墠鏈冩牴鎿�(j霉)鐗囬伕閰嶇疆锛堝浐瀹氬瑷�(sh猫)鎴栧彲璁婂瑷�(sh猫)锛変娇鑳界浉鎳�(y墨ng)鐗囬伕;鑰� SPI_TDR涓劇鏁�(sh霉)鎿�(j霉)鏅傦紝鍓囩墖閬歌嚜鍕曠鐢�銆傚洜姝�锛�9200鍚慚CP2515閫g簩(x霉)鐧�(f膩)閫佸鍊嬪瓧绡€(ji茅)鏅傦紝瑕佷繚璀夊湪鍓嶄竴鍊嬪瓧绡€(ji茅)鍌宠几瀹岀暍鍓�锛屽悗涓€鍊嬪瓧绡€(ji茅)灏辫瀵叆鍒� SPI_TDR涓紝浠ラ伩鍏嶇墖閬歌鑷嫊绂佺敤;鍚屾檪锛屽湪鍌宠几瀹屾瘡涓€鍊嬪瓧绡€(ji茅)鍚�锛岄倓瑕佽畝鍙朣PI_RDR锛堟帴鏀舵暩(sh霉)鎿�(j霉)瀵勫瓨鍣級銆� 銆€銆€涓嬮潰浠CP2515鐨勮畝鎸囦护鐐轰緥锛岃鏄庡湒4鎵€绀虹殑椹�(q奴)鍕曠▼搴忓畬鎴愪竴娆¤畝鎸囦护鎿嶄綔锛堝彧璁€涓€鍊嬪瓧绡€(ji茅)鏁�(sh霉)鎿�(j霉)锛夌殑閬庣▼锛屽苟鍋囪ō(sh猫)9200 SPI閲囩敤鍥哄畾澶栬ō(sh猫)鐨勭墖閬搁厤缃柟寮�銆傚叾浠栨寚浠ょ殑杌熶欢瀵︾従(xi脿n)娴佺▼鑸囪畝鎸囦护椤炰技銆� [align=center] 鍦�4 SPI璁€鎸囦护鎿嶄綔杌熶欢娴佺▼[/align] 3 椹�(q奴)鍕曠▼搴忚ō(sh猫)瑷� 銆€銆€椹�(q奴)鍕曠▼搴忔槸鎳�(y墨ng)鐢ㄧ▼搴忚垏纭欢涔嬮枔鐨勪腑闁撹粺浠跺堡锛屽畠瀹屽叏闅辫斀浜嗚ō(sh猫)鍌欏伐浣滅殑绱�(x矛)绡€(ji茅)銆侺inux鎿嶄綔绯荤当(t菕ng)鏍规摎(j霉)瑷�(sh猫)鍌欎腑淇℃伅鍌抽€佹柟寮忕殑涓嶅悓锛屽皣瑷�(sh猫)鍌欏垎鎴�3绋鍨嬶細瀛楃瑷�(sh猫)鍌�銆佸瑷�(sh猫)鍌欏拰缍�(w菐ng)绲�(lu貌)瑷�(sh猫)鍌橻3]銆�9200鑸嘙CP2515鐨勯€氫俊閮芥槸閫氶亷SPI鎺ュ彛浠ュ瓧绡€(ji茅)鐐哄柈浣嶉€�(j矛n)琛岀殑锛屽洜姝CP2515灞簬瀛楃瑷�(sh猫)鍌�銆傜敱浜�5 鍊婱CP2515鍏变韩9200鐨勪竴鍊婼PI鎺ュ彛锛屽洜姝ら噰鐢ㄤ竴鍊嬮﹨(q奴)鍕曠▼搴忎締绠$悊鎵€鏈夌殑MCP2515锛岄€欐ǎ鍋氭湁鍒╀簬灏嶆墍鏈夎ō(sh猫)鍌欓€�(j矛n)琛岀当(t菕ng)涓€绠$悊銆� 銆€銆€3.1 椹�(q奴)鍕曠▼搴忎腑瀹氱京鐨勪富瑕佹暩(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u) 銆€銆€CAN绺界窔閫氫俊鏄熀浜庡牨鏂囧箑鐨�锛屽湪椹�(q奴)鍕曠▼搴忎腑锛岀劇璜栫櫦(f膩)閫佹暩(sh霉)鎿�(j霉)閭勬槸鎺ユ敹鏁�(sh霉)鎿�(j霉)閮芥槸鍩轰簬鍫辨枃骞€鐨勬搷浣淸4]锛屽洜姝ら渶瑕佽ō(sh猫)瑷堝悎閬╃殑鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)浠ユ豢瓒虫暩(sh霉)鎿�(j霉)鎿嶄綔鐨勯渶瑕�銆� 銆€銆€3.1.1鎺ユ敹鑸囩櫦(f膩)閫丆AN鍫辨枃骞€绲�(ji茅)妲�(g貌u)楂� 銆€銆€ 銆€銆€鍏朵腑锛宯ode_num鐐篗CP2515鐨勭瘈(ji茅)榛炶櫉锛�0锝�4锛�锛宨d鐐篊AN鍫辨枃骞€鐨勬(bi膩o)璀樼锛宒lc鐐烘暩(sh霉)鎿�(j霉)闀峰害锛�0锝�8锛夛紝data鐐篊AN鍫辨枃骞€鐨勬暩(sh霉)鎿�(j霉)绶╂矕鍗€(q奴)锛宔xt_flag鐢ㄤ簬妯�(bi膩o)璀楥AN鍫辨枃骞€鏄惁鐐烘摯(ku貌)灞曞箑锛宺tr_flag鐢ㄤ簬妯�(bi膩o)璀楥AN鍫辨枃骞€鏄惁鐐洪仩(yu菐n)绋嬪箑銆� 銆€銆€3.1.2 瑷�(sh猫)鍌欓厤缃祼(ji茅)妲�(g貌u)楂� 銆€銆€锛�1锛� 娉㈢壒鐜囧拰鍫辨枃婵炬尝閰嶇疆绲�(ji茅)妲�(g貌u)楂� 銆€銆€ 銆€銆€鍏朵腑锛宯ode_num鐐篗CP2515鐨勭瘈(ji茅)榛炶櫉锛�0锝�4锛�锛宐audrate鐐篊AN绺界窔閫氫俊閫熺巼锛宖ilter鐐哄牨鏂囨烤娉㈤厤缃祼(ji茅)妲�(g貌u)锛宐r_flag鐢ㄤ簬妯�(bi膩o)璀樻尝鐗圭巼閰嶇疆鏄惁鏈夋晥锛宖i_flag鐢ㄤ簬妯�(bi膩o)璀樺牨鏂囨烤娉㈤厤缃槸鍚︽湁鏁�銆� baudrate鍜宖ilter鐨勬暩(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)椤炲瀷瀹氱京濡備笅锛� 銆€銆€ 銆€?銆�?锛� 宸ヤ綔妯″紡閰嶇疆绲�(ji茅)妲�(g貌u)楂� 銆€銆€ 銆€銆€鍏朵腑锛宯ode_num鎰忕京鍚屼笂锛宱per_mode琛ㄧず瑭茬瘈(ji茅)榛炵殑宸ヤ綔妯″紡銆侻CP2515鍏辨湁5绋伐浣滄ā寮�锛屽垎鍒ユ槸閰嶇疆妯″紡銆佷紤鐪犳ā寮忋€佸儏鐩�(ji膩n)鑱芥ā寮�銆佸洖鐠�(hu谩n)妯″紡鍜屾甯告ā寮�銆備竴鑸ō(sh猫)鍌欓兘宸ヤ綔鍦ㄦ甯告ā寮�銆� 銆€銆€3.1.3 鐠�(hu谩n)褰㈡暩(sh霉)鎿�(j霉)鎺ユ敹绶╂矕鍗€(q奴)绲�(ji茅)妲�(g貌u)楂� 銆€銆€ 銆€銆€鍏朵腑锛宑an_recv_buf鐐烘帴鏀禖AN鍫辨枃骞€鐠�(hu谩n)褰㈡暩(sh霉)鎿�(j霉)绶╂矕鍗€(q奴)锛宺ecv_pos鍜宺ead_pos鍒嗗垾琛ㄧず鏁�(sh霉)鎿�(j霉)瀛樺叆鍜岃畝鍑虹珐娌栧崁(q奴)鐨勪綅缃�;wq瀹氱京鐨勬槸涓€鍊嬬瓑寰呴殜鍒�锛岀敤浜庡鐝�(xi脿n)闃诲鍨媟ead鎿嶄綔銆� 銆€銆€3.2 椹�(q奴)鍕曠▼搴忔帴鍙� 銆€銆€椹�(q奴)鍕曠▼搴忕殑鎺ュ彛涓昏鍒嗙偤3鍊嬮儴鍒嗭細 鍒濆鍖栬垏閫€鍑哄嚱鏁�(sh霉)鎺ュ彛锛屽畬鎴愯ō(sh猫)鍌欏畨瑁濆拰鍗歌級绛夋搷浣�;鏂囦欢绯荤当(t菕ng)鎺ュ彛锛岀敱file_operations鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)渚嗗畬鎴�;鑸囪ō(sh猫)鍌欑殑鎺ュ彛锛屽畬鎴愬皪瑷�(sh猫)鍌欑殑璁€/瀵瓑鎿嶄綔銆� 銆€銆€3.2.1 鍒濆鍖栬垏閫€鍑哄嚱鏁�(sh霉) 銆€銆€鍦ㄥ畨瑁濋﹨(q奴)鍕曠▼搴忔檪锛屾搷浣滅郴绲�(t菕ng)鏈冭(di脿o)鐢ㄥ垵濮嬪寲鍑芥暩(sh霉)閫�(j矛n)琛岃ō(sh猫)鍌欐敞鍐�銆佽ō(sh猫)鍌欏垵濮嬪寲浠ュ強瀹夎涓柗铏曠悊渚嬬▼绛夋搷浣�銆傚弮鑰冩枃鐛�(xi脿n)[3]瑭崇窗(x矛)璜栬堪浜嗚ō(sh猫)鍌欐敞鍐婄殑鏂规硶锛岃€岄€欓噷涓昏瑷庤珫瑷�(sh猫)鍌欏垵濮嬪寲鏅傜殑閰嶇疆鏂规硶銆傚湪鏈﹨(q奴)鍕曠▼搴忎腑锛岃ō(sh猫)鍌欏垵濮嬪寲鍒嗗叐姝�:涓€鏄皪9200鐨凷PI鎺у埗鍣ㄥ垵濮嬪寲锛屼簩鏄皪5鍊婱CP2515鍒濆鍖�銆� 銆€銆€鍦ㄥ嵏杓夎ō(sh猫)鍌欓﹨(q奴)鍕曠▼搴忔檪鏈冭(di脿o)鐢ㄩ€€鍑哄嚱鏁�(sh霉)锛岄€€鍑哄嚱鏁�(sh霉)涓昏瀹屾垚瑷�(sh猫)鍌欑殑娉ㄩ姺鍜屼腑鏂烽噵鏀�銆� 銆€銆€鍙冭€冩枃鐛�(xi脿n)[3]瑭崇窗(x矛)璜栬堪浜嗕腑鏂疯檿鐞嗕緥绋嬬殑瀹夎銆佽ō(sh猫)鍌欐敞閵峰拰涓柗閲嬫斁鐨勬柟娉曪紝姝よ檿涓嶅啀瑭宠堪銆� 銆€銆€3.2.2 涓柗鎺ユ敹鏈嶅嫏(w霉)渚嬬▼ 銆€銆€MCP2515鏀跺埌CAN鍫辨枃骞€鍚�锛岀敘(ch菐n)鐢熶腑鏂峰苟灏嘔NT寮曡叧缃綆銆�9200闊挎噳(y墨ng)澶栭儴涓柗锛屽苟瑾�(di脿o)鐢ㄥ拰澶栭儴涓柗鐩稿皪鎳�(y墨ng)鐨勪腑鏂疯檿鐞嗕緥绋�銆備腑鏂疯檿鐞嗕緥绋嬪叡鏈�3鍊嬶細 at91_mcp2515_irq_handler_0闊挎噳(y墨ng)IRQ0鐨勪腑鏂�锛宎t91_mcp2515_irq_handler_1_2闊挎噳(y墨ng)IRQ1鐨勪腑鏂�锛宎t91_mcp2515_irq_handler_3_4闊挎噳(y墨ng)IRQ2鐨勪腑鏂枫€傚叾涓璉RQ0鍙拰涓€鍊婱CP2515鐩搁€�锛岃€孖RQ1鍜孖RQ2鍒嗗垾琚叐鍊婱CP2515鎵€鍏变韩銆侷RQ0鍜孖RQ1鐨勪腑鏂疯檿鐞嗘祦绋嬪垎鍒ュ鍦�5鍜屽湒6鎵€绀�锛孖RQ2鑸嘔RQ1鐨勪腑鏂疯檿鐞嗘祦绋嬬浉鍚屻€� 銆€銆€ [align=center] 鍦�5 IRQ0涓柗铏曠悊娴佺▼[/align] [align=center] 鍦�6 IRQ1涓柗铏曠悊娴佺▼[/align] 銆€銆€闇€瑕佹敞鎰忕殑鏄�锛屽湪鍦�5鐨勮檿鐞嗘祦绋嬩腑骞舵矑鏈夋竻涓柗鎿嶄綔銆傞€欐槸鍥犵偤閲囩敤浜哛X璁€绶╂矕鍗€(q奴)鎸囦护璁€鍙朚CP2515 RX绶╂矕鍗€(q奴)涓殑鏁�(sh霉)鎿�(j霉)銆傝┎鎸囦护鎿嶄綔绲�(ji茅)鏉熷悗锛孧CP2515鏈冭嚜鍕曟竻闄ょ浉鎳�(y墨ng)鐨勬帴鏀朵腑鏂锋(bi膩o)蹇椾綅銆� 銆€銆€3.2.3 鏂囦欢绯荤当(t菕ng)鎺ュ彛瀹氱京 銆€銆€鏂囦欢绯荤当(t菕ng)鎺ュ彛struct file_operations鐨勬垚鍝″叏閮ㄦ槸鍑芥暩(sh霉)鎸囬嚌锛岄€欎簺鎸囬嚌鎸囧嚭浜嗚ō(sh猫)鍌欓﹨(q奴)鍕曠▼搴忔墍鎻愪緵鐨勫叆鍙i粸浣嶇疆銆傛湰椹�(q奴)鍕曠▼搴忔墍瀹氱京鐨刦ile_operations鐐猴細 銆€銆€ 銆€銆€3.2.4 ioctl鍑芥暩(sh霉) 銆€銆€ioctl鍑芥暩(sh霉)鐢ㄤ簬灏嶈ō(sh猫)鍌欓€�(j矛n)琛岄厤缃�銆傛垜鍊戝湪ioctl鍑芥暩(sh霉)涓鐝�(xi脿n)浜嗗叐鍊嬪懡浠わ細 IOCTRL_CONFIG_CAN_DEV鐢ㄤ簬閰嶇疆绡€(ji茅)榛炵殑CAN绺界窔娉㈢壒鐜囧拰鍫辨枃婵炬尝锛孖OCTRL_SET_OPER_MODE鐢ㄤ簬閰嶇疆绡€(ji茅)榛炵殑宸ヤ綔妯″紡銆傞€欏叐绋厤缃懡浠ゆ墍灏嶆噳(y墨ng)鐨勯厤缃弮鏁�(sh霉)閮芥槸鎸囧悜鎳�(y墨ng)鐢ㄥ堡鐩告噳(y墨ng)鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)鐨勬寚閲濓紝鍏╁€嬮厤缃祼(ji茅)妲�(g貌u)鍦�3.1.2灏忕瘈(ji茅)宸茬稉(j墨ng)浠嬬垂閬庝簡銆� 銆€銆€鐢↖OCTRL_CONFIG_CAN_DEV鍛戒护閰嶇疆娉㈢壒鐜囧拰鍫辨枃婵炬尝鏅傦紝鍦ㄩ厤缃畬鎴愬悗锛屽鏋滅瘈(ji茅)榛炶檿浜嶪NACTIVE鐙€鎱�(t脿i)锛屽墖闇€瑕佷娇鑳界瘈(ji茅)榛炲収(n猫i)閮ㄧ殑鎺ユ敹涓柗锛屼娇鑳界瘈(ji茅)榛炴墍灏嶆噳(y墨ng)鐨勫閮ㄤ腑鏂�锛屽苟灏囩瘈(ji茅)榛炵媭鎱�(t脿i)瑷�(sh猫)缃偤ACTIVE銆傚湪閫氬父鎯呮硜涓嬶紝閫氶亷ioctl鍑芥暩(sh霉)灏嶉渶瑕侀厤缃殑绡€(ji茅)榛炲煼(zh铆)琛屽畬 IOCTRL_CONFIG_CAN_DEV鍛戒护鍚�锛岄倓瑕佸啀灏嶉厤缃亷鐨勭瘈(ji茅)榛炲煼(zh铆)琛孖OCTRL_SET_OPER_MODE鍛戒护锛屼娇绡€(ji茅)榛炶檿浜庢甯哥殑宸ヤ綔妯″紡銆� 銆€銆€3.2.5 闂�(gu膩n)浜庣鐖晱椤� 銆€銆€鏈郴绲�(t菕ng)鏄柈CPU绯荤当(t菕ng)锛岄噰鐢↙inux 2.4.19鍏�(n猫i)鏍�锛屼笖鏄潪鎼跺崰寮忕殑;鍚屾檪锛屾瑷�(sh猫)瑷堢殑椹�(q奴)鍕曠▼搴忎篃鍙厑瑷变竴鍊嬮€�(j矛n)绋嬫墦闁嬪苟鎿嶄綔瑭茶ō(sh猫)鍌�銆傚湪閫欑ó鎯呮硜涓�锛岄﹨(q奴)鍕曠▼搴忎腑鎵€娑夊強鐨勭鐖晱椤屼富瑕佸氨鏄腑鏂疯檿鐞嗙▼搴忓収(n猫i)鏍镐唬纰煎拰鍏朵粬瑷�(sh猫)鍌欐搷浣滅殑鍏�(n猫i)鏍镐唬纰间箣闁撶殑璩囨簮绔剁埈銆傚湪涓婃枃涓墍鎻愬埌鐨勬墍鏈夎ō(sh猫)鍌欐搷浣滀腑锛岄兘瑕侀€氶亷9200鐨凷PI鎺ュ彛鑸嘙CP2515閫�(j矛n)琛岄€氫俊銆� 9200鑸嘙CP2515閫�(j矛n)琛岄€氫俊閮芥槸浠ュ懡浠ゅ瓧绡€(ji茅)闁嬪鐨�锛屽苟涓斿湪涓€鍊嬪懡浠ゆ搷浣滈亷绋嬩腑锛堜竴鑸渻閫g簩(x霉)鍌宠几澶氬€嬪瓧绡€(ji茅)锛�锛岀墖閬稿拰鏅傞悩鏄笉鑳借绂佺敤鐨�锛屽惁鍓囨搷浣滃氨鏈冨け鏁�銆傚洜姝�锛孧CP2515鐨勪竴鍊嬪畬鏁寸殑鍛戒护鎿嶄綔灏辨槸涓€鍊嬭嚚鐣屽崁(q奴)鍩燂紝鍦ㄥ皪MCP2515閫�(j矛n)琛屼竴鍊嬪懡浠ゆ搷浣滅殑閬庣▼涓繀闋堢鐢ㄦ墍鏈夌殑涓柗锛屼互淇濊瓑鍛戒护鎿嶄綔鐨勬甯稿煼(zh铆)琛�銆傚湪椹�(q奴)鍕曠▼搴忎腑锛岄噰鐢╨ocal_irq_save鍜宭ocal_irq_restore鍑芥暩(sh霉)灏嶄腑鏂风鐢ㄥ拰鎭㈠京(f霉)锛屽湪閫欏叐鍊嬪嚱鏁�(sh霉)瑾�(di脿o)鐢ㄤ箣闁擄紝灏辨槸灏� MCP2515鍩�(zh铆)琛屼竴鍊嬪懡浠ゆ搷浣滅殑浠g⒓銆� 绲�(ji茅)瑾� 銆€銆€鏈枃閲濆皪鐗规湁鐨勬噳(y墨ng)鐢ㄩ渶姹傛彁鍑虹殑澶氳矾CAN绺界窔鎺ュ彛鍜岄﹨(q奴)鍕曠▼搴忚ō(sh猫)瑷�锛岀稉(j墨ng)閬庢脯瑭�锛屽彲浠ョ┅(w臎n)瀹氭甯稿湴閬嬭銆傞棞(gu膩n)浜庨﹨(q奴)鍕曠▼搴忕殑绶ㄨ鍜岄亱琛屾柟娉曪紝鍙冭€冩枃鐛�(xi脿n) [3]鏈夊緢濂界殑瑾槑銆備笂灞ょ殑娓│绋嬪簭绶ㄥ涔熸瘮杓冪啊鍠紝浣嗚娉ㄦ剰鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)鐨勫畾缇╁拰搴曞堡椹�(q奴)鍕曠▼搴忕殑涓€鑷存€�銆傛湰鏂囧伌(c猫)閲嶄粙绱硅ō(sh猫)瑷堢殑鍩烘湰鏂规硶鍜屽鐝�(xi脿n)鍩烘湰鐨勫姛鑳�銆� MCP2515鏈韩鎻愪緵浜嗚ū澶氱殑鍔熻兘锛屽湪瀵︾従(xi脿n)鍩烘湰鍔熻兘鐨勫熀绀�(ch菙)涓�锛屼篃鍙互鏍规摎(j霉)鑷繁鐨勬噳(y墨ng)鐢ㄩ渶瑕佸啀閫�(j矛n)琛屽姛鑳芥摯(ku貌)灞�銆� 鍙冭€冩枃鐛�(xi脿n) 銆€銆€[1] Atmel corporation. AT91RM9200 data sheet, 2006. 銆€銆€[2] Microchip Technology Inc. MCP2515 data sheet,2005. 銆€銆€[3] 榄忔案鏄�锛岄П鍓�锛屽鍚�. LINUX瑷�(sh猫)鍌欓﹨(q奴)鍕曠▼搴廩M]. 绗�2鐗�.鍖椾含锛氫腑鍦嬮浕鍔涘嚭鐗堢ぞ锛�2004. 銆€銆€[4] 鏉滃皻璞�锛屾浌鏇夐悩锛屽緪娲�.CAN绺界窔娓帶鎶€琛�(sh霉)鍙婂叾鎳�(y墨ng)鐢╗M].鍖椾含锛氶浕瀛愬伐妤�(y猫)鍑虹増绀撅紝2007.

妯�(bi膩o)绨斤細

榛炶磰

鍒嗕韩鍒帮細

涓婁竴绡囷細鍩轰簬CAN绺界窔鐨勯洐瀹规按绠辨帶鍒剁郴绲�(t菕ng)

涓嬩竴绡囷細寰兘WIN-V63鐭㈤噺鎺у埗璁婇牷鍣ㄥ湪...

涓湅鍌冲嫊缍�(w菐ng)鐗堟瑠(qu谩n)鑸囧厤璨�(z茅)鑱叉槑锛氬嚒鏈恫(w菐ng)娉ㄦ槑[渚嗘簮锛氫腑鍦嬪偝鍕曠恫(w菐ng)]鐨勬墍鏈夋枃瀛椼€佸湒鐗�銆侀煶瑕栧拰瑕栭牷鏂囦欢锛岀増娆�(qu谩n)鍧囩偤涓湅鍌冲嫊缍�(w菐ng)(www.wangxinlc.cn)鐛ㄥ鎵€鏈�銆傚闇€杞�(zhu菐n)杓夎珛鑸�0755-82949061鑱�(li谩n)绯�銆備换浣曞獟楂斻€佺恫(w菐ng)绔欐垨鍊嬩汉杞�(zhu菐n)杓変娇鐢ㄦ檪闋堟敞鏄庝締婧愨€滀腑鍦嬪偝鍕曠恫(w菐ng)鈥�锛岄仌鍙嶈€呮湰缍�(w菐ng)灏囪拷绌跺叾娉曞緥璨�(z茅)浠�銆�

鏈恫(w菐ng)杞�(zhu菐n)杓夊苟娉ㄦ槑鍏朵粬渚嗘簮鐨勭ǹ浠�锛屽潎渚嗚嚜浜掕伅(li谩n)缍�(w菐ng)鎴栨キ(y猫)鍏�(n猫i)鎶曠ǹ浜哄+锛岀増娆�(qu谩n)灞簬鍘熺増娆�(qu谩n)浜�銆傝綁(zhu菐n)杓夎珛淇濈暀绋夸欢渚嗘簮鍙婁綔鑰咃紝绂佹鎿呰嚜绡℃敼锛岄仌鑰呰嚜璨�(f霉)鐗堟瑠(qu谩n)娉曞緥璨�(z茅)浠�銆�

缍�(w菐ng)绔欑啊浠�|鏈冨摗鏈嶅嫏(w霉)|鑱�(li谩n)绯绘柟寮�|骞姪淇℃伅|鐗堟瑠(qu谩n)淇℃伅|缍�(w菐ng)绔欏湴鍦�|鍙嬫儏閺堟帴|娉曞緥鏀寔|鎰忚鍙嶉|sitemap

鍌冲嫊缍�(w菐ng)-宸ユキ(y猫)鑷嫊鍖栬垏鏅鸿兘鍒堕€犵殑鍏ㄥ獟楂斺€滀簰鑱�(li谩n)缍�(w菐ng)+鈥濆壍(chu脿ng)鏂版湇鍕�(w霉)骞宠嚭

缍�(w菐ng)绔欏鏈�鏈嶅嫏(w霉)鍜ㄨ閲囪臣鍜ㄨ濯掗珨鍚堜綔

Chuandong.com Copyright ?2005 - 2025 锛孉ll Rights Reserved 娣卞湷甯傚ェ缇庡ぇ鍞愬唬鍛婃湁闄愬叕鍙� 鐗堟瑠(qu谩n)鎵€鏈�
绮礗CP鍌� 14004826铏� | 鐕熸キ(y猫)鍩�(zh铆)鐓ц瓑鏇� | 涓嶈壇淇℃伅鑸夊牨涓績 | 绮靛叕缍�(w菐ng)瀹夊倷 44030402000946铏�