freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于can總線的溫濕度及光感度測量_單片機課程設計-全文預覽

2025-09-23 19:36 上一頁面

下一頁面
  

【正文】 uffer8 SJA1000_BASE+0x11 //發(fā)送緩沖區(qū) 8 define TxBuffer9 SJA1000_BASE+0x12 //發(fā)送緩沖區(qū) 9 define TxBuffer10 SJA1000_BASE+0x13 //發(fā)送緩沖區(qū) 10 //***************************************************************** // 以下為接受緩沖區(qū)寄存器定義: //***************************************************************** define RxBuffer1 SJA1000_BASE+0x14 //接收緩沖區(qū) 1 define RxBuffer2 SJA1000_BASE+0x15 //接收緩沖區(qū) 2 define RxBuffer3 SJA1000_BASE+0x16 //接收緩沖區(qū) 3 define RxBuffer4 SJA1000_BASE+0x17 //接收緩沖區(qū) 4 define RxBuffer5 SJA1000_BASE+0x18 //接收緩沖區(qū) 5 define RxBuffer6 SJA1000_BASE+0x19 //接收緩沖區(qū) 6 define RxBuffer7 SJA1000_BASE+0x1A //接收緩沖區(qū) 7 define RxBuffer8 SJA1000_BASE+0x1B //接收緩沖區(qū) 8 define RxBuffer9 SJA1000_BASE+0x1C //接收緩沖區(qū) 9 define RxBuffer10 SJA1000_BASE+0x1D //接收緩沖區(qū) 10 define CDR SJA1000_BASE+0x1F //時鐘分頻寄存器 //****************************************************************** // 定義 SJA1000 操作的命令字 : //***************************************************************** define TR_order 0x01 //發(fā)送請求命令 define AT_order 0x02 //中止發(fā)送命令 define RRB_order 0x04 //釋放接收緩沖區(qū) define CDO_order 0x08 //清楚數(shù)據(jù)溢出 define GTS_order 0x10 //進入睡眠狀態(tài)命令 //******************************************************************* // 以下為 CAN 通信基本函數(shù): //******************************************************************* void Write_Reg(uchar reg,uchar reg_data)。=~BIT0 define S_CS P5OUT|=BIT1 define C_CS P5OUTamp。 //讀取 SJA1000 初 始化結果 } while (sja_status1)。 //開放錯誤、接收、發(fā)送中斷 return 0。} if(set_ACR_AMR(0xaa,0x00)) //設置地址 ID: 550 {return 1。 //退出硬件復位 delay_ms(20)。 } 基于 CAN 總線的溫濕度及光感度測量 } // /********************************************************* 函 數(shù)功能:初始化 SJA1000 參數(shù)說明:返回值: 1失敗, 0成功 **********************************************************/ char init_SJA1000 (void) { _DINT()。 case GTS_order: //進入睡眠狀態(tài)命令 return 0。 case CDO_order: if((Read_Reg(STATUS) amp。 case RRB_order: if((Read_Reg(STATUS) amp。 case AT_order: //中止發(fā)送命令 if((Read_Reg(STATUS) amp。 //釋放接收緩沖區(qū) return 0。 for(i=0。 if(0 == (rcvdatabuf[1] amp。 0x01)==0) //判斷接收緩沖區(qū)中是否有信息,為 0 表示沒有信息 {return 1。 //調用發(fā)送請求 return 0。 i send_num。 i++) { Write_Reg(TxBuffer3+i,senddatabuf[2+i])。0x0f)。 Write_Reg(TxBuffer1,senddatabuf[0])。} if((STATUS_data amp。//讀取狀態(tài)寄存器數(shù)值到 STATUS_data if(STATUS_data amp。} return 0。 } /********************************************************* 函數(shù)原型: char set_CLK (unsigned char SJA_OUT_MODE,unsigned char SJA_Clock_Out) 函數(shù)功能:用于設置輸出寄存器( OCR)的參數(shù)、時鐘分頻寄存器( CDR)的參數(shù), 只能在 SJA1000 進入復位模式下使用 參數(shù)說明: SJA_OUT_MODE :用于存放輸出寄存器( OC)的參數(shù) SJA_Clock_Out :用于存放時鐘分頻寄存器( CDR)的參數(shù) 返回值說明: 0:設置( OCR)和( CDR)寄存器成功 1:設置( OCR)和( CDR)寄存器失敗 **********************************************************/ char set_CLK (unsigned char SJA_OUT_MODE,unsigned char SJA_Clock_Out) { Write_Reg(OCR,SJA_OUT_MODE)。//訪問 CAN 總線驗收代碼寄存器,寫入?yún)?shù) if(Read_Reg(ACR) != ACR_DATA)//校驗寫入值 {return 1。 //校驗寫入值 wrong_flag = 0。//將波特率的設置值從數(shù)組中讀出 Write_Reg(BIT_0,BIT0_data)。 //用于存放從波特率數(shù)組中讀出來的數(shù)值 unsigned char wrong_count=32。} //0:表示 SJA1000 成功退出復位工作模式 else {return 1。//訪問 SJA1000 控制寄存器,保存原始值 Write_Reg(CONTROL,MID_DATAamp。0x01)==1) //讀 SJA1000 的控制寄存器數(shù)值,判斷復位請求是否有效 {return 0。} } /********************************************************* 函數(shù)原型: char enter_RST(void) 函數(shù)功能:用于 SJA1000 進入復位工作模式 返回值說明: 0:表示 SJA1000 成功進入復位工作模式 1:表示 SJA1000 進入復位模式失敗 **********************************************************/ char enter_RST(void) { unsigned char MID_DATA。 } /********************************************************* 函數(shù)原型: char create_munication(void) 函數(shù)功能: 用于 SJA1000 在復位模式下,檢測 CAN 控制器 SJA1000 的通信是否正常,只用于產品 的測試,如果在正常模式下使用這個寄存器進行測試,將導致設備不可預測的結果。 S_CS。 _NOP()。 _NOP()。 _NOP()。 //P2OUT amp。 S_RD。 S_CS。 //電平轉換方向 5V PortDIR=0x00。 C_RD。 C_ALE。 //P2OUT amp。 S_CS。 //發(fā)送數(shù)據(jù)數(shù)組 /********************************************************* 函數(shù)原型: unsigned char Read_Reg(unsigned char reg) 函數(shù)功能:讀取 SJA1000 寄存器中的值 參數(shù)說明: reg:寄存器地址 **********************************************************/ unsigned char Read_Reg(unsigned char reg) { unsigned char Reg_Data。 //開總中斷 */ //// } pragma vector=PORT1_VECTOR //P1 口中斷源 __interrupt void P1_ISR(void) //中斷名 P1_ISR(void) { if(P1IFG amp。MCLK=8MHZ //*/ //定時器設置 // 基于 CAN 總線的溫濕度及光感度測量 /* TACCTL0 = CCIE。 BCSCTL2 |= SELS+DIVS_0。j0。= ~XT2OFF。 //設置 為輸入 P1IES |= BIT7。P2OUT amp。 //P6DIR |= BIT2。 P5DIR = 0XFF。 P3DIR = 0XFF。 } } /********************************************************* 函數(shù)功能:初始化 MSP430 **********************************************************/ void init_CPU (void) { /*下面六行程序關閉所有的 IO 口 */ P1DIR = 0XFF。 } if((Can_INT_DATA amp。 //把 send_data 數(shù)組中數(shù)據(jù)寫入到發(fā)送緩沖區(qū) } if((Can_INT_DATA amp。= ~rcv_flag。 //通電,等待測量指令 Write_1Byte(0x07)。 send_flag = 1。 //讀取溫濕度傳 感器 delay_ms(120)。 //CAN 中斷變量清零 delay_ms(1000)。 //初始化 BH1750 do { delay_ms(10)。 //接收數(shù)據(jù)數(shù)組 // void main( void ) { WDTCTL = WDTPW + WDTHOLD。 void init_CPU (void)。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題 。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1