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

正文內(nèi)容

基于can總線控制的溫度儀表畢業(yè)論文-資料下載頁

2025-06-18 15:32本頁面
  

【正文】 d charvoid WriteSJARegBlock(unsigned char addr,unsigned char *Pbuf,unsigned char len){ uchar i。 for(i=0。ilen。i++) { Write_SJA1000(addr+i,*Pbuf)。 Pbuf++。 }}unsigned char Send_CAN_Filter[8]={0x11,0x22,0x33,0x44,0x00,0x00,0x00,0x00}。 //11,22unsigned char Send_CAN_Info_ID[5]={0x88,0x11,0x22,0x33,0x44}。 //88: 擴展貞 8個數(shù)據(jù) 識別碼 11 22 33 44unsigned char Send_CAN_Data[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}。uchar BTR0,BTR1。SJA1000_Config_Normal(){ uchar RegBuf。 BTR0=0x00。 BTR1=0x1b。 //設(shè)置為1M波特率通信 f=400k SJAEntryResetMode()。 //進入復(fù)位模式 Write_SJA1000(REG_CAN_CDR,0xc0)。 //配置時鐘分頻寄存器,選擇PeliCAN模式 f/10 RegBuf = Read_SJA1000(REG_CAN_MOD)。 RegBuf = RegBufamp。0xf3。 Write_SJA1000(REG_CAN_MOD,RegBuf)。 //配置模式寄存器,選擇雙濾波、 //從 05 改為04 WriteSJARegBlock(16,Send_CAN_Filter,8)。 //配置驗收代碼/屏蔽寄存器 Write_SJA1000(REG_CAN_BTR0,BTR0)。 //配置總線定時器0x00 Write_SJA1000(REG_CAN_BTR1,BTR1)。 //配置總線定時器0x14 Write_SJA1000(REG_CAN_OCR,0xaa)。 SJAQuitResetMode()。 //退出復(fù)位模式,進入工作模式}void TestCan(){// uchar canstatus,canstatus1。 //uchar canstatus2,canstatus3,canstatus4。 uchar m。 IO_Init()。 SJA100HardWareRest()。 SJA1000_Config_Normal()。 //SJA1000進入正常模式配置 Write_SJA1000(REG_CAN_IER,0x01)。 //使能SJA1000接收中斷位 WriteSJARegBlock(16,Send_CAN_Info_ID,5)。 //擴展幀,向發(fā)送緩沖區(qū)寫入5個數(shù)據(jù) WriteSJARegBlock(21,Send_CAN_Data,8)。//擴展幀,向發(fā)送緩沖區(qū)寫入8個數(shù)據(jù) UartSendByte(1)。 //Write_SJA1000(REG_CAN_CMR,0x10)。// while(1) { if(RXD_flag==1) {// Send_CAN_Data[0] = RX_buffer[5]+0x11。// Send_CAN_Data[1] = RX_buffer[6]+0x11。// Send_CAN_Data[2] = RX_buffer[7]+0x11。// Send_CAN_Data[3] = RX_buffer[8]+0x11。// Send_CAN_Data[4] = RX_buffer[9]+0x11。// Send_CAN_Data[5] = RX_buffer[10]+0x11。// Send_CAN_Data[6] = RX_buffer[11]+0x11。// Send_CAN_Data[7] = RX_buffer[12]+0x11。// EA =0。// WriteSJARegBlock(21,Send_CAN_Data,8)。//擴展幀,向發(fā)送緩沖區(qū)寫入8個數(shù)據(jù)// canstatus = Read_SJA1000(REG_CAN_SR)。// canstatus1 = Read_SJA1000(REG_CAN_MOD)。 // canstatus2 = Read_SJA1000(15)。 //TX錯誤計數(shù) // canstatus3 = Read_SJA1000(14)。 //RX錯誤計數(shù) // canstatus4 = Read_SJA1000(12)。 //錯誤代碼捕捉// if((canstatusamp。0x0c)==0x0c)//判斷是否可以發(fā)送// { // Write_SJA1000(REG_CAN_CMR,0x10)。//使能發(fā)送請求,發(fā)送數(shù)據(jù)。自收發(fā)// Write_SJA1000(REG_CAN_CMR,0x01)。//使能發(fā)送請求,發(fā)送數(shù)據(jù) 對發(fā)// while((canstatusamp。0x08) ==0)// {canstatus = Read_SJA1000(REG_CAN_SR)。}// }// EA =1。 RXD_flag =0。 UartSendbytes(RX_buffer,13)。 delayms(50)。 } DISP_PORT = numtab[RX_buffer[5]]。 }}include include define Freq 22118400define BaundRate 2400define STC11F04ifdef STC11F04 define BaundT1 (256 (int)(Freq/BaundRate/32/12+))else define BaundT1 (256 (int)(Freq/BaundRate/32+))endif/************************************************* Function: UartInital()// 函數(shù)名稱 Description: // 函數(shù)功能、性能等的描述 Calls: // 被本函數(shù)調(diào)用的函數(shù)清單 Called By: // 調(diào)用本函數(shù)的函數(shù)清單 Table Accessed: // 被訪問的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Table Updated: // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Input: // 輸入?yún)?shù)說明,包括每個參數(shù)的作 // 用、取值說明及參數(shù)間關(guān)系。 Output: // 對輸出參數(shù)的說明。 Return: // 函數(shù)返回值的說明 Others: // 其它說明 *************************************************/ void UartInital(void) //定時器{ TMOD |= 0X20。 TL1=BaundT1。 //clk TH1=BaundT1。 //2400 12000000/2400/32/12+0。5 AUXR amp。= 0XBF。 SCON=0X50。 TR1=1。 //ES=1。 //EA = 1。}/************************************************* Function: uart_int()// 函數(shù)名稱 Description: // 函數(shù)功能、性能等的描述 Calls: // 被本函數(shù)調(diào)用的函數(shù)清單 Called By: // 調(diào)用本函數(shù)的函數(shù)清單 Table Accessed: // 被訪問的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Table Updated: // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Input: // 輸入?yún)?shù)說明,包括每個參數(shù)的作 // 用、取值說明及參數(shù)間關(guān)系。 Output: // 對輸出參數(shù)的說明。 Return: // 函數(shù)返回值的說明 Others: // 其它說明 *************************************************/ void uart_int(void) interrupt 4{ if(RI) { RI =0。 } else TI=0。}/************************************************* Function: UartSendByte()// 函數(shù)名稱 Description: // 函數(shù)功能、性能等的描述 Calls: // 被本函數(shù)調(diào)用的函數(shù)清單 Called By: // 調(diào)用本函數(shù)的函數(shù)清單 Table Accessed: // 被訪問的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Table Updated: // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Input: Byte 發(fā)送的數(shù)據(jù)// 輸入?yún)?shù)說明,包括每個參數(shù)的作 // 用、取值說明及參數(shù)間關(guān)系。 Output: // 對輸出參數(shù)的說明。 Return: // 函數(shù)返回值的說明 Others: // 其它說明 *************************************************/ void UartSendByte(unsigned char Byte){ SBUF = Byte。 while(TI ==0) 。 { TI = 0。 }}/************************************************* Function: UartSendbytes()// 函數(shù)名稱 Description: // 函數(shù)功能、性能等的描述 Calls: // 被本函數(shù)調(diào)用的函數(shù)清單 Called By: // 調(diào)用本函數(shù)的函數(shù)清單 Table Accessed: // 被訪問的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Table Updated: // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Input: bytes 發(fā)送的數(shù)組 leng 發(fā)送的字符長度// 輸入?yún)?shù)說明,包括每個參數(shù)的作 // 用、取值說明及參數(shù)間關(guān)系。 Output: // 對輸出參數(shù)的說明。 Return: // 函數(shù)返回值的說明 Others: // 其它說明 *************************************************/ void UartSendbytes(unsigned char * bytes,unsigned char leng){ unsigned char i。 for(i=0。ileng。i++) UartSendByte(*bytes++)。}/************************************************* Function: UartReceiveByte()// 函數(shù)名稱 Description: // 函數(shù)功能、性能等的描述 Calls: // 被本函數(shù)調(diào)用的函數(shù)清單 Called By: // 調(diào)用本函數(shù)的函數(shù)清單 Table Accessed: // 被訪問的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Table Updated: // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序) Input: // 輸入?yún)?shù)說明,包括每個參數(shù)的作 // 用、取值說明及參數(shù)間關(guān)系。 Output
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1