亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? can.s

?? can tongxunCAN128的底層驅(qū)動
?? S
?? 第 1 頁 / 共 3 頁
字號:
	.dbline 88
L18:
	.dbline 73
	inc R20
L20:
	.dbline 73
	cpi R20,15
	brlo L17
	.dbline 96
;             CANMSG = 0;         //clear data
;     }
; 
;     //bit timing -> datasheet page 260 (check table) 250Kbps
;     //CANBT1 = 0x02;            //16Mhz,1Mbps
;     //CANBT2 = 0x04;
;     //CANBT3 = 0x13;
;     
; 	//canbaud= EEPROM_read(0x0020);
; 	CANBT1 = CanBaud[2][0];         
	ldi R30,<_CanBaud+6
	ldi R31,>_CanBaud+6
	lpm R30,Z
	sts 226,R30
	.dbline 97
;     CANBT2 = CanBaud[2][1];
	ldi R30,<_CanBaud+6+1
	ldi R31,>_CanBaud+6+1
	lpm R30,Z
	sts 227,R30
	.dbline 98
;     CANBT3 = CanBaud[2][2];
	ldi R30,<_CanBaud+6+2
	ldi R31,>_CanBaud+6+2
	lpm R30,Z
	sts 228,R30
	.dbline 102
; 	
;     //configure MObi
; 	/******************************************************************/
;    for (i=0; i<15; i++)
	clr R20
	xjmp L33
L30:
	.dbline 103
	.dbline 104
	mov R24,R20
	andi R24,#0x0F
	swap R24
	sts 237,R24
	.dbline 105
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDT
	ldi R25,>_CANIDT
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 243,R2
	.dbline 106
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDT+1
	ldi R25,>_CANIDT+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 242,R2
	.dbline 107
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDT+2
	ldi R25,>_CANIDT+2
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 241,R2
	.dbline 108
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDT+3
	ldi R25,>_CANIDT+3
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 240,R2
	.dbline 109
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDM
	ldi R25,>_CANIDM
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 247,R2
	.dbline 110
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDM+1
	ldi R25,>_CANIDM+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 246,R2
	.dbline 111
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDM+2
	ldi R25,>_CANIDM+2
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 245,R2
	.dbline 112
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_CANIDM+3
	ldi R25,>_CANIDM+3
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 244,R2
	.dbline 114
	ldi R24,144
	sts 239,R24
	.dbline 115
	nop
	.dbline 116
L31:
	.dbline 102
	inc R20
L33:
	.dbline 102
	cpi R20,15
	brsh X2
	xjmp L30
X2:
	.dbline 119
;    {
; 	CANPAGE = (i<<4);                   //MOb number 0
;      CANIDT1 = CANIDT[i][0];        		//clear ID
;      CANIDT2 = CANIDT[i][1];
;      CANIDT3 = CANIDT[i][2];
;      CANIDT4 = CANIDT[i][3];
;      CANIDM1 = CANIDM[i][0];            	//clear mask
;      CANIDM2 = CANIDM[i][1];
;      CANIDM3 = CANIDM[i][2];
;      CANIDM4 = CANIDM[i][3];               //0 = ignore bit
;     //CANIDM4 = (1<<IDEMSK);                          //identifier extention mask
;      CANCDMOB = (2<<CONMOB) | (1<<IDE);     //reception, ext. ID,rev2.0B
; 	 NOP();
; 	}
; 	
;     //CANHPMOB = (2<<HPMOB);
; 	CANGCON = (1<<ENASTB);              //start CAN interface, enable mode
	ldi R24,2
	sts 216,R24
	.dbline 124
; /***********************************************************************/
;     //interrupts
;     //CANGIE = (1<<ENIT) | (1<<ENRX);         //enable receive interrupt
; 	
; 	CANGIE = (1<<ENIT) | (1<<ENTX)| (1<<ENRX);    //enable receive interrupt and transmitte interrupt 
	ldi R24,176
	sts 219,R24
	.dbline 126
;     /////////////////////////////////////////////////////////////////////// 
; 	CANIE1 = 0xff;                  
	ldi R24,255
	sts 223,R24
	.dbline 127
; 	CANIE2 = 0x7f;                         //enable ALL MObs interrupt
	ldi R24,127
	sts 222,R24
	.dbline 128
;     CANSIT1 = 0;                          //clear MOb status interrupt
	clr R2
	sts 225,R2
	.dbline 129
;     CANSIT2 = 0;
	sts 224,R2
	.dbline 132
;     
; ///////////////////////////	Enable Mob0 transmit/////////////////////
;     CLI();
	cli
	.dbline 133
;     CANPAGE = (1<<4);
	ldi R24,16
	sts 237,R24
	.dbline 134
;     CANCDMOB |= (1<<CONMOB0);
	lds R24,239
	ori R24,64
	sts 239,R24
L40:
	.dbline 137
L41:
	.dbline 137
; /////////////////////////////////////////////////////////////////////
; 
;     while (!(CANGSTA & (1<<ENFG)));         //wait until module ready
	lds R24,217
	andi R24,4
	breq L40
	.dbline 139
; 	
;     CANGCON |= (1<<ENA);      //enable CAN controller
	lds R24,216
	ori R24,2
	sts 216,R24
	.dbline -2
L2:
	adiw R28,4
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r temp2 10 i
	.dbsym r temp1 22 i
	.dbsym l temp 0 l
	.dbsym r j 22 c
	.dbsym r i 20 c
	.dbend
	.dbfunc e can_tx _can_tx fV
	.dbstruct 0 12 _VCI_CAN_OBJ
	.dbfield 0 ID L
	.dbfield 4 Data A[8:8]c
	.dbend
;              i -> R10
;            msg -> R12,R13
	.even
_can_tx::
	xcall push_gset4
	movw R12,R16
	.dbline -1
	.dbline 146
; }
; 
; /*******************************************************************
; CAN transmission via mailbox 1 (polling)
; *******************************************************************/
; void can_tx (VCI_CAN_OBJ msg)
; {
	.dbline 149
;     unsigned char i;
; 	//enable MOb1, auto increment index, start with index = 0
;     CANPAGE = (1<<4);
	ldi R24,16
	sts 237,R24
	.dbline 151
; 
;     CANCDMOB = (1<<IDE) | (8<<DLC0);        //set IDE bit rev2.0B, data length = 8
	ldi R24,24
	sts 239,R24
	.dbline 154
; 
;    
; 	msg.ID <<= 3;                   //write 29 Bit identifier
	ldi R24,3
	ldi R25,0
	movw R30,R12
	ldd R16,z+0
	ldd R17,z+1
	ldd R18,z+2
	ldd R19,z+3
	st -y,R24
	xcall lsl32
	movw R30,R12
	std z+0,R16
	std z+1,R17
	std z+2,R18
	std z+3,R19
	.dbline 155
;     CANIDT4 = (unsigned char) (msg.ID&0xF8);
	ldi R20,248
	ldi R21,0
	ldi R22,0
	ldi R23,0
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	and R2,R20
	and R3,R21
	and R4,R22
	and R5,R23
	sts 240,R2
	.dbline 156
;     CANIDT3 = (unsigned char) (msg.ID>>8);
	ldi R24,8
	ldi R25,0
	st -y,R24
	xcall asr32
	sts 241,R16
	.dbline 157
;     CANIDT2 = (unsigned char) (msg.ID>>16);
	movw R30,R12
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	movw R2,R4
	sts 242,R2
	.dbline 158
;     CANIDT1 = (unsigned char) (msg.ID>>24);
	ldi R24,24
	ldi R25,0
	ldd R16,z+0
	ldd R17,z+1
	ldd R18,z+2
	ldd R19,z+3
	st -y,R24
	xcall asr32
	sts 243,R16
	.dbline 160
; 	
;     for(i=0;i<8;i++)                               
	clr R10
	xjmp L47
L44:
	.dbline 161
	.dbline 163
	movw R24,R12
	adiw R24,4
	mov R30,R10
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts 250,R2
	.dbline 164
L45:
	.dbline 160
	inc R10
L47:
	.dbline 160
	mov R24,R10
	cpi R24,8
	brlo L44
	.dbline 167
;       {
; 	   
;        CANMSG = msg.Data[i];
; 	  }
;    // for (i=0; i<8; i++)       //put data in mailbox 6
;         
;     CANCDMOB |= (1<<CONMOB0);           //enable transmission
	lds R24,239
	ori R24,64
	sts 239,R24
	.dbline -2
L43:
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r i 10 c
	.dbsym r msg 12 pS[_VCI_CAN_OBJ]
	.dbend
	.area data(ram, con, rel)
	.dbfile F:\測量模塊\16MCan\can.c
_CAN_tx_OverFlow::
	.blkb 2
	.area idata
	.word 60000
	.area data(ram, con, rel)
	.dbfile F:\測量模塊\16MCan\can.c
	.dbsym e CAN_tx_OverFlow _CAN_tx_OverFlow i
	.area text(rom, con, rel)
	.dbfile F:\測量模塊\16MCan\can.c
	.dbfunc e can_tx_buff _can_tx_buff fV
;         tx_msg -> R20,R21
	.even
_can_tx_buff::
	xcall push_gset1
	movw R20,R16
	sbiw R28,12
	.dbline -1
	.dbline 181
; 
;     //while (!(CANSTMOB & (1<<TXOK)));        //wait until complete
;     //CANSTMOB &= ~(1<<TXOK);             //reset flag
; }
; 
; 
; #define can_TX_BUFFER_SIZE  8
; VCI_CAN_OBJ tx_msg_buff[can_TX_BUFFER_SIZE];
; Uchar can_sendingP;
; Uchar can_willsendP;
; Uchar can_tx_count;
; Uint CAN_tx_OverFlow= 60000;
; void can_tx_buff(VCI_CAN_OBJ tx_msg)
; { 
	.dbline 182
;   CAN_tx_OverFlow = 60000;
	ldi R24,60000
	ldi R25,234
	sts _CAN_tx_OverFlow+1,R25
	sts _CAN_tx_OverFlow,R24
	xjmp L50
L49:
	.dbline 184
;   while (can_tx_count == can_TX_BUFFER_SIZE)
;    { 
	.dbline 185
;      CAN_tx_OverFlow--;
	lds R24,_CAN_tx_OverFlow
	lds R25,_CAN_tx_OverFlow+1
	sbiw R24,1
	sts _CAN_tx_OverFlow+1,R25
	sts _CAN_tx_OverFlow,R24
	.dbline 186
; 	 if(CAN_tx_OverFlow<=50)
	ldi R24,50
	ldi R25,0
	lds R2,_CAN_tx_OverFlow
	lds R3,_CAN_tx_OverFlow+1
	cp R24,R2
	cpc R25,R3
	brlo L52
	.dbline 187
; 	   {
	.dbline 188
; 	      can_tx_count = 0;
	clr R2
	sts _can_tx_count,R2
	.dbline 189
; 		  can_sendingP = can_willsendP; 
	lds R2,_can_willsendP
	sts _can_sendingP,R2
	.dbline 190
; 		  CANSTMOB &= ~(1<<TXOK);
	lds R24,238
	andi R24,191
	sts 238,R24
	.dbline 191
; 		  CAN_tx_OverFlow = 60000;
	ldi R24,60000
	ldi R25,234
	sts _CAN_tx_OverFlow+1,R25
	sts _CAN_tx_OverFlow,R24
	.dbline 192
; 	   }
L52:
	.dbline 193
L50:
	.dbline 183
	lds R24,_can_tx_count
	cpi R24,8
	breq L49
	.dbline 194
;    }
;   if(can_tx_count || (CANGSTA & (1<<TXBSY)))
	tst R24
	brne L56
	lds R24,217
	andi R24,16
	breq L54
L56:
	.dbline 195
;   {
	.dbline 196
;      tx_msg_buff[can_willsendP] = tx_msg;
	lds R2,_can_willsendP
	ldi R24,12
	mul R24,R2
	movw R2,R0
	ldi R24,<_tx_msg_buff
	ldi R25,>_tx_msg_buff
	add R2,R24
	adc R3,R25
	ldi R16,12
	ldi R17,0
	st -y,R3
	st -y,R2
	st -y,R21
	st -y,R20
	xcall asgnblk
	.dbline 197
;      if(++can_willsendP == can_TX_BUFFER_SIZE)
	lds R24,_can_willsendP
	subi R24,255    ; addi 1
	mov R2,R24
	sts _can_willsendP,R2
	cpi R24,8
	brne L57
	.dbline 198
; 	     can_willsendP = 0;
	clr R2
	sts _can_willsendP,R2
L57:
	.dbline 199
; 	 ++can_tx_count;
	lds R24,_can_tx_count
	subi R24,255    ; addi 1
	sts _can_tx_count,R24
	.dbline 200
;   } 
	xjmp L55
L54:
	.dbline 202
;   else 
;   {
	.dbline 203
;     if(can_willsendP != can_sendingP)
	lds R2,_can_sendingP
	lds R3,_can_willsendP
	cp R3,R2
	breq L59
	.dbline 204
; 	{
	.dbline 205
; 	  NOP();
	nop
	.dbline 206
; 	  can_willsendP=0;
	clr R2
	sts _can_willsendP,R2
	.dbline 207
; 	  can_sendingP=0;
	sts _can_sendingP,R2
	.dbline 208
; 	}
L59:
	.dbline 209
	movw R24,R28
	ldi R16,12
	ldi R17,0
	st -y,R25
	st -y,R24
	st -y,R21
	st -y,R20
	xcall asgnblk
	movw R16,R28
	xcall _can_tx
	.dbline 210
L55:
	.dbline -2
L48:
	adiw R28,12
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r tx_msg 20 pS[_VCI_CAN_OBJ]
	.dbend
	.area vector(rom, abs)
	.org 72
	jmp _can_ReceiveData
	.area text(rom, con, rel)
	.dbfile F:\測量模塊\16MCan\can.c
	.dbfunc e can_ReceiveData _can_ReceiveData fV
;         RCFlag -> <dead>
;        RCtemp2 -> R10,R11
;        RCtemp1 -> R12,R13
;           temp -> y+210

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
东方aⅴ免费观看久久av| 欧美精品色一区二区三区| 国产精品网站在线播放| 91精品国产日韩91久久久久久| zzijzzij亚洲日本少妇熟睡| 六月丁香婷婷久久| 免费成人你懂的| 蜜桃av一区二区| 欧美国产日韩亚洲一区| 精品美女在线播放| 色中色一区二区| 成人在线综合网| 免费成人在线观看视频| 偷拍一区二区三区| 欧美精品123区| 国产精品美女久久久久久 | 欧美网站一区二区| 韩国av一区二区| 麻豆91精品91久久久的内涵| 亚洲成av人片在线观看| 亚洲高清免费观看高清完整版在线观看| 亚洲日本电影在线| 亚洲日韩欧美一区二区在线| 亚洲精选免费视频| 一级中文字幕一区二区| 亚洲一二三四区| 亚洲综合免费观看高清完整版| 亚洲黄色av一区| 一卡二卡三卡日韩欧美| 中文字幕不卡三区| 国产精品传媒入口麻豆| 欧美成人精品1314www| 久久欧美一区二区| 国产免费观看久久| 最新日韩av在线| 亚洲精品va在线观看| 亚洲一区在线电影| 亚洲高清免费在线| 精品一区二区影视| 成人教育av在线| 色噜噜狠狠色综合中国| 欧美日韩一区精品| 日韩视频一区在线观看| 精品日韩一区二区| 亚洲国产精品t66y| 综合欧美一区二区三区| 亚洲www啪成人一区二区麻豆| 男男成人高潮片免费网站| 日本少妇一区二区| 国产一区二区毛片| 欧美网站一区二区| 久久在线观看免费| 亚洲伦在线观看| 免费欧美高清视频| 国产成人高清在线| 99久久er热在这里只有精品15| 欧美日韩一区二区在线视频| 欧美大片国产精品| 亚洲欧洲av色图| 色吊一区二区三区| 日韩欧美成人激情| 一区二区三区四区精品在线视频| 免费日本视频一区| 99精品一区二区三区| 欧美麻豆精品久久久久久| 精品国产乱码久久久久久闺蜜| 国产精品女同互慰在线看| 亚洲国产精品麻豆| 成人一道本在线| 91精品中文字幕一区二区三区| 欧美国产欧美综合| 青青草成人在线观看| 91视频在线看| 国产亚洲一区字幕| 午夜电影网亚洲视频| 国产精品一色哟哟哟| 日韩视频在线你懂得| 亚洲午夜精品一区二区三区他趣| 粉嫩aⅴ一区二区三区四区五区| 91精品国产乱| 午夜伦欧美伦电影理论片| 色诱视频网站一区| 最好看的中文字幕久久| 国产精选一区二区三区| 精品国产污网站| 美女看a上一区| 欧美精品一二三| 一区二区三区免费| 色先锋aa成人| 一区二区三区影院| 色天使久久综合网天天| 中文字幕一区二区三区在线播放| 国产成a人亚洲精品| 91精品国产高清一区二区三区 | 久久久影视传媒| 麻豆精品视频在线观看视频| 欧美人妖巨大在线| 香蕉久久一区二区不卡无毒影院| 91精品91久久久中77777| 亚洲色图清纯唯美| 99riav久久精品riav| 国产精品成人午夜| 97超碰欧美中文字幕| 亚洲视频狠狠干| 99久久er热在这里只有精品66| 国产精品色婷婷| 成人h动漫精品一区二| 国产精品理伦片| 99综合影院在线| 亚洲黄色尤物视频| 欧美日韩一区精品| 日本视频中文字幕一区二区三区| 欧美精品乱人伦久久久久久| 婷婷成人激情在线网| 91精品蜜臀在线一区尤物| 日韩av电影免费观看高清完整版| 91精品国产综合久久精品| 麻豆成人在线观看| 久久精品一区二区三区不卡牛牛| 国产v综合v亚洲欧| 亚洲日本电影在线| 欧美日韩国产美| 美国av一区二区| 久久色.com| 91亚洲精品久久久蜜桃| 亚洲一区二区三区小说| 欧美高清视频www夜色资源网| 美女www一区二区| 国产女人18毛片水真多成人如厕| 99re成人在线| 视频一区在线播放| 2024国产精品视频| 99久久精品费精品国产一区二区| 一区二区欧美在线观看| 欧美久久一区二区| 国产一区美女在线| 亚洲精品美国一| 日韩欧美高清一区| 99久久综合国产精品| 丝袜亚洲精品中文字幕一区| 欧美xxx久久| 99精品在线观看视频| 日本特黄久久久高潮| 亚洲国产经典视频| 欧美日韩小视频| 国产乱码精品1区2区3区| 亚洲激情男女视频| 精品国产免费人成在线观看| 欧美tickling挠脚心丨vk| 国产成人av电影在线| 亚洲一区电影777| 精品久久久久久久久久久院品网| 97久久精品人人做人人爽50路| 天堂va蜜桃一区二区三区| 欧美激情一区二区三区在线| 欧美日韩一区二区三区视频| 国产在线不卡一卡二卡三卡四卡| 有码一区二区三区| 久久只精品国产| 911国产精品| 97se亚洲国产综合自在线不卡| 免费的国产精品| 又紧又大又爽精品一区二区| 久久久美女毛片| 精品视频资源站| 不卡的av在线播放| 久久97超碰国产精品超碰| 亚洲柠檬福利资源导航| 欧美第一区第二区| 欧美日韩一区高清| 99久久精品费精品国产一区二区| 久久97超碰国产精品超碰| 亚洲午夜一区二区| 国产精品家庭影院| 久久人人97超碰com| 欧美久久久久免费| 色综合久久中文综合久久97| 国产福利一区在线| 麻豆视频一区二区| 五月天激情小说综合| 亚洲天天做日日做天天谢日日欢 | 成人欧美一区二区三区黑人麻豆| 制服丝袜成人动漫| 欧美亚洲综合久久| 99精品国产视频| 丁香婷婷综合激情五月色| 韩国成人精品a∨在线观看| 午夜精品成人在线视频| 亚洲精品一二三区| 最新中文字幕一区二区三区| 国产日韩在线不卡| 久久久久9999亚洲精品| 精品久久久久久久人人人人传媒| 欧美一区午夜视频在线观看 | 亚洲欧美国产高清| 国产精品久久久久aaaa樱花| 国产色一区二区| 久久精品这里都是精品| 精品成人在线观看| 久久综合色天天久久综合图片|