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

正文內(nèi)容

xx新編基于以太網(wǎng)的用電監(jiān)控系統(tǒng)設(shè)計案例-文庫吧資料

2024-11-20 12:06本頁面
  

【正文】 S I I 初 始 化板 級 的 硬 件 初 始 化創(chuàng) 建 首 個 任 務(wù)u C O S I I 運 行鍵 盤 任 務(wù) 系 統(tǒng) 信 息 顯 示 任 務(wù) 網(wǎng) 絡(luò) 數(shù) 據(jù) 接 收 任 務(wù)網(wǎng) 絡(luò) 數(shù) 據(jù) 標(biāo) 志 位 分 析運 行 指 示 燈 任 務(wù)采 集 ?發(fā) 送 采 集 數(shù) 據(jù) , 返 回 Y N時 間 校 對 ? 重 配 置 ? N N時 間 校 對 任 務(wù)執(zhí) 行 完 刪 除 任 務(wù)網(wǎng) 絡(luò) 重 配 置 任 務(wù)Y Y校 準(zhǔn) ? Y創(chuàng) 建 校 準(zhǔn) 任 務(wù) N執(zhí) 行 完 刪 除 任 務(wù)執(zhí) 行 完 刪 除 任 務(wù)圖 19 15 開發(fā)環(huán)境的使用 生成新的工作區(qū) 生成新的項目 設(shè)置項目選項 編譯鏈接和調(diào)試應(yīng)用范文最新推薦 16 干部教育培訓(xùn)工作總結(jié) [干部教育培訓(xùn)工作總結(jié) ] 年干部教育培訓(xùn)工作,在縣委的正確領(lǐng)導(dǎo)下,根據(jù)市委組織部提出的任務(wù)和要求,結(jié)合我縣實際,以興起學(xué)習(xí)貫徹 “ 三個代表 ” 重要思想新高潮為重點,全面啟動 “ 大教育、大培訓(xùn) ” 工作,取得了一定的成效,干部教育培訓(xùn)工作總結(jié)。 功率值 字符數(shù)組 }data。 電壓值 字符數(shù)組 UINT8 I_Temp[4]。 保留位 UINT8 T_Temp[4]。//正在測量 UINT8 RTC_Set_Flag :1。 union { UINT8 Temp[17]。 //IP 地址 ,32位 }data。 //分鈡 UINT8 Sec。 //星期 UINT8 Hour。 //月份 UINT8 Day。 //保留位 UINT8 Year[2]。//網(wǎng)絡(luò)設(shè)置 UINT8 RTC_Set_Flag :1。 } } 在軟件中定義了 兩個 與數(shù)據(jù)接收和發(fā)送相關(guān)的聯(lián)合體:union { UINT8 Temp[13]。 i4。FloatVariables。 14 前文 給出的轉(zhuǎn)換函數(shù)返回值是一個浮點數(shù),為了方便數(shù)據(jù)傳輸,將浮點數(shù)轉(zhuǎn)成了一個 8位字符數(shù)組,函數(shù)如下: //浮點數(shù)轉(zhuǎn)換到字符數(shù)組 void Float_To_Array(UINT8 *temp, FP32 FloatVariables) { UINT8 i。鍵盤任務(wù)負(fù)責(zé)觸發(fā)校準(zhǔn)任務(wù)。 //RTC 時間校對 任務(wù) 上述任務(wù)之間使用操作系統(tǒng)提供的郵箱進(jìn)行通信 ,某些任務(wù)由其他任務(wù)通過這種通信機(jī)制來觸發(fā) 。 //校準(zhǔn)任務(wù) static void ReConfigEth_Task(void *p_arg)。 //運行指示燈任務(wù)二 static void Key_Task(void *p_arg)。 //系統(tǒng)信息顯示任務(wù) static void Led1_Task(void *p_arg)。 //網(wǎng)絡(luò)數(shù)據(jù)接受任務(wù) static void EthRecAnalysis_Task(void *p_arg)。 //創(chuàng)建任務(wù)的函數(shù) static void App_TaskStart(void *p_arg)。 //發(fā)送 TCP 數(shù)據(jù) 操作系統(tǒng)任務(wù)與軟件流程 本系統(tǒng)移植了 嵌入式操作系統(tǒng) uCOSII,重點介紹系統(tǒng)的任務(wù)劃分,對于操作系統(tǒng)的移植不作過多闡述 。 //填充 TCP 數(shù)據(jù) extern void NETPcMakeTcpAck(UINT8 *buf)。 //初始化響應(yīng)的數(shù)據(jù)長度 extern UINT16 NETPcGetTcpDataPointer(void)。 //填充 UDP 應(yīng)答數(shù)據(jù) extern void NETPcMakeTcpSynAck(UINT8 *buf)。 //ARP 應(yīng)答 extern void NETPcMakeEchoReply(UINT8 *buf, UINT16 len)。 //填充 IP 包校驗和 extern void NETPcMakeTcpHead(UINT8 *buf, UINT16 rel_ack_num, UINT8 mss, UINT8 cp_seq)。 //建立以太網(wǎng)首部 extern void NETPcMakeIP(UINT8 *buf)。 //檢查 ARP和本機(jī)地址是否正確 extern UINT8 NETPcEthIsIpAndMyIp(UINT8 *buf, UINT16 len)。 //校驗和 extern void NETPcInit(UINT8 *mymac, UINT8 *myip, UINT8 port)。 本 系統(tǒng)中使用了一種很簡潔的以太網(wǎng)協(xié)議棧 。 } 網(wǎng)絡(luò)數(shù)據(jù)解析 前文指出, ENC28J60 的輸出的 是標(biāo)準(zhǔn)的以太網(wǎng) 幀 數(shù)據(jù) (以太網(wǎng)的相關(guān)協(xié)議, 13 請參考其他文獻(xiàn) ), MCU 需要對該數(shù)據(jù)進(jìn)行解析。 } } CurrentRMS = I * temp。(1(8j))) != 0 ) temp+=G。j=7。i=2。 Clear_DRDY()。 Wait_DRDY_High()。 FP32 G = , temp = 。 } FP32 Get_IRMS(void) { UINT8 i,j。 } } VoltRMS = V * temp。(1(8j))) != 0 ) temp+=G。j=7。i=2。 Clear_DRDY()。 Wait_DRDY_High()。 FP32 G = , temp = 。 程序如下: FP32 Get_VRMS(void) { UINT8 i,j。 CS5460_ReadReg(I_AC_OFFSET, q)。 CS5460_WriteCommand(AC_V_ADJ)。 CS5460_ReadReg(I_AC_OFFSET, p)。 CS5460_WriteCommand(AC_I_ADJ)。 CS5460_ReadReg(V_DC_OFFSET, b)。 CS5460_WriteCommand(DC_V_ADJ)。 CS5460_ReadReg(I_DC_OFFSET, a)。 CS5460_WriteCommand(DC_I_ADJ)。 CS5460_WriteCommand(POWER_HALT)。 WriteToC02(AC_V_OFFSET_ADDR, AC_V_OFFSET, 3)。 WriteToC02(AC_I_OFFSET_ADDR, AC_I_OFFSET, 3)。 WriteToC02(DC_V_OFFSET_ADDR, DC_V_OFFSET, 3)。 WriteToC02(DC_I_OFFSET_ADDR, DC_I_OFFSET, 3)。 Start_AC_OFFSET_Adj(DC_I_OFFSET,DC_V_OFFSET,AC_I_OFFSET,AC_V_OFFSET)。 UINT8 AC_I_OFFSET[3]。 UINT8 DC_I_OFFSET[3]。若不能確定 CS5460A 是否處于轉(zhuǎn)換狀態(tài),應(yīng)發(fā)送一個 POWER_HALT 命令來終止轉(zhuǎn)換再進(jìn)行校準(zhǔn)程序。在實際應(yīng)用,一般只進(jìn)行 AC、 DC 的偏置校準(zhǔn),在這個基礎(chǔ)上進(jìn)行 增益 標(biāo)定,來獲得 電流電壓有效值寄存器的值與實際值的關(guān)系。 } CS5460A的偏置校準(zhǔn) 與 增益 標(biāo)定 CS5460A 內(nèi)部具有校準(zhǔn)寄存器,一旦啟動校準(zhǔn)程序,內(nèi)部就自動產(chǎn)生修正值,用戶可以讀取這些值存取 EEPROM 中,在系統(tǒng)下次啟動時讀取這些值寫入到相應(yīng)的寄存器中而不必重復(fù)校準(zhǔn)過程。 i++) { if (revbuf[i] != sendbuf[i]) { return 1。 for (i=0。 Delay_1ms(10)。 UINT8 revbuf[5] ={0,0,0,0,0}。 //從 24c02地址讀 num個字節(jié)數(shù)據(jù) EEPROM 測試程序 ,測試通過返回 0: UINT8 EEPROM_Test(void) { UINT8 i。 //讀 8 位數(shù)據(jù) extern void WriteToC02(UINT8 Addr, UINT8 *p, UINT8 num)。 //寫器件地址和讀寫信號 static void WriteData(UINT8 data)。 //發(fā)送結(jié)束信號 static void WriteByte(UINT8 data)。 // i2c 總線初始化 static void I2C_Start(void)。 // ENC28J60發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包 extern UINT16 enc28j60PacketReceive(UINT16 maxlen, UINT8 *packet)。 //獲取 ENC28J60的版本號 extern void enc28j60Init(UINT8 *macaddr)。 //設(shè)置 ENC28J60的 PHY extern void enc28j60clkout(UINT8 clk)。 //讀取 ENC28J60,調(diào)用 enc28j60ReadOp() extern void enc28j60Write(UINT8 address, UINT8 data)。 //寫 ENC28J60數(shù)據(jù)緩沖區(qū) extern void enc28j60SetBank(UINT8 address)。 // ENC28J60指定地址寫操作 extern void enc28j60ReadBuffer(UINT16 len, UINT8 *data)。 // SPI 發(fā)送或接受數(shù)據(jù) extern UINT8 enc28j60ReadOp(UINT8 op, UINT8 address)。 // ENC28J60 片選關(guān)閉 static void enc28j60HWreset(void)。 // 延時 static void CSACTIVE(void)。 //網(wǎng)絡(luò)硬件初始化 static void delay_ms(UINT8 ms)。 //假如 DRDY=1,退出返回 } } 10 ENC28J60配置 ENC28J60 的操作主要是通過一個 SPI 接口進(jìn)行數(shù)據(jù)讀寫操作。 if(buf[0]amp。 //寫狀態(tài)寄存器 } void Wait_DRDY_High(void) { UINT8 buf[3]。 buf[2]=0xff。 buf[0]=0xff。 CS5460_WriteReg(0x5e,buf)。 buf[1]=0xFF。 CS5460_WriteReg(WRITE|V_GAIN,buf)。 buf[1]=0x00。 //電流增益校準(zhǔn)寄存器 ** buf[0]=0X40。 buf[2]=0x00。//0x40。 CS5460_WriteReg(WRITE|V_DC_OFFSET,buf)。//0x68。//0x3e。 CS5460_WriteReg(WRITE|I_DC_OFFSET,buf)。 buf[1]=0x00。 CS5460_WriteReg(WRITE|V_AC_OFFSET,buf)。//0x68。//0x3e。 CS5460_WriteReg(WRITE|I_AC_OFFSET,buf)。 buf[1]=0x00。 //DCLK=MCLK/1,高通 CS5460_WriteReg(CONFIG|WRITE,buf)。 //GI=1 電流 50 增益 buf[1]=0x00。 } void CS5460_Config(void) { UINT8 buf[3]。 CS5460_WriteCommand(SYNC1)。 CS5460_WriteCommand(SYNC1)。 Delay_1ms(10)。 IO1CLR |= CS。 void CS5460_Init(void) { //IO1DIR |= SCK|CS|SDI|RESET
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1