wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区
標(biāo)題:
我的ModBus主機(jī)-任務(wù)篇
[打印本頁]
作者:
qinlu123
時(shí)間:
2021-11-15 13:27
標(biāo)題:
我的ModBus主機(jī)-任務(wù)篇
任務(wù)篇是建立在協(xié)議篇之上的。以我的項(xiàng)目為例,我有兩個(gè)從機(jī)設(shè)備,一個(gè)是EPC(控制器控制電磁閥開度使電磁閥出口處的氣壓保持恒定)需要主機(jī)設(shè)定出口處氣壓和定時(shí)讀取出口處實(shí)際氣壓;另一個(gè)是溫濕壓傳感器變送器需要定時(shí)讀取溫濕度壓數(shù)據(jù)。
我的理念是不管主機(jī)掛載幾個(gè)從機(jī)設(shè)備,而是主機(jī)有幾個(gè)任務(wù)。以上文為例,主機(jī)一共有三個(gè)任務(wù),一是設(shè)定EPC出口處氣壓(寫保持寄存器);二是讀取EPC出口處氣壓(讀輸入寄存器);三是讀取溫濕壓數(shù)據(jù)(讀輸入寄存器)。我們首先要建立這三個(gè)任務(wù)。我們根據(jù)從機(jī)名稱來創(chuàng)建4個(gè)文件分別是"EPC.c"、"EPC.h"、"THP.c"和"THP.h"。按照慣例我們先來看"EPC.h"和"THP.h"。
#ifndef __EPC_H
#define __EPC_H
#include "Header.h"
#include "UartDebug.h"
#include "Modbus_Master.h"
#include "Delay.h"
struct EpcPre
{
struct ModbusMasterDevice *MMD;
uint8_t DeviceAddr;
int16_t P_Fb,P_Sta;
uint16_t Pset;
uint8_t S_P_En,R_En;
uint8_t DataUpdate;
uint8_t SetSuccess;
};
extern struct EpcPre EPC1;
void EPCInit(void);
uint8_t ReadEPC(void *Para);
void ReadEPFEnable(struct EpcPre *EPF);
uint8_t SetPreVal(void *Para);
void SetPreValEnable(struct EpcPre *EPC,uint16_t Pre);
#endif
復(fù)制代碼
#ifndef __THP_H
#define __THP_H
#include "Header.h"
#include "UartDebug.h"
#include "Modbus_Master.h"
#include "Delay.h"
struct TemHumPre
{
struct ModbusMasterDevice *MMD;
uint8_t DeviceAddr;
float AirTemp;
float AirHun;
float AirPre;
uint8_t Enable;
uint8_t DataUpdate;
};
extern struct TemHumPre THP1;
void THPInit(void);
uint8_t ReadTHP(void *Para);
void ReadTHPEnable(struct TemHumPre *THP);
#endif
復(fù)制代碼
這兩個(gè)文件非常相似,下面我們來詳細(xì)介紹一下。
略過頭文件我們來看從機(jī)結(jié)構(gòu)體。
“struct ModbusMasterDevice *MMD;” 從機(jī)掛載到的ModBus主機(jī);
“uint8_t DeviceAddr;” 從機(jī)的設(shè)備地址;
“int16_t P_Fb,P_Sta;” “float AirTemp;”“float AirHun;”“float AirPre;”數(shù)據(jù)區(qū),根據(jù)從機(jī)的需求而定;
“uint8_t S_P_En,R_En;”“uint8_t Enable; ”任務(wù)的使能標(biāo)志,可以看到因?yàn)镋PC有兩個(gè)任務(wù)所以它有S_P_En和R_En兩個(gè)使能標(biāo)志,而THP只有一個(gè)任務(wù)所以它只有一個(gè)Enable;
“uint8_t DataUpdate;”讀保持/輸入寄存器成功標(biāo)志;
“uint8_t SetSuccess;”寫保持寄存器成功標(biāo)志,THP沒有相對(duì)應(yīng)得任務(wù)所以也就沒有該標(biāo)志。
接下來我們來看具體得任務(wù)實(shí)現(xiàn)。
#include "EPC.h"
struct EpcPre EPC1;
void EPCInit(void)
{
EPC1.MMD = &MMDPort1;
EPC1.DeviceAddr = 0x01;
}
uint8_t ReadEPC(void *Para)
{
struct EpcPre *EPC;
EPC = (struct EpcPre *)Para;
if(ReadHoldInputReg(EPC->MMD,EPC->DeviceAddr,0x04,0,4) != 0)
{
if(EPC->MMD->RIR_Update)
{
EPC->MMD->RIR_Update = 0;
EPC->DataUpdate = 1;
EPC->P_Fb = EPC->MMD->Input_Reg[0];
EPC->P_Sta = EPC->MMD->Input_Reg[1];
}
EPC->R_En = 0;
return 1;
}
return 0;
}
void ReadEPFEnable(struct EpcPre *EPC)
{
EPC->R_En = 1;
}
uint8_t SetPreVal(void *Para)
{
struct EpcPre *EPC;
EPC = (struct EpcPre *)Para;
if(WriteHoldReg(EPC->MMD,EPC->DeviceAddr,0,1,&EPC->Pset) != 0)
{
if(EPC->MMD->WHR_Success)
{
EPC->MMD->WHR_Success = 0;
EPC->SetSuccess = 1;
}
EPC->S_P_En = 0;
return 1;
}
return 0;
}
void SetPreValEnable(struct EpcPre *EPC,uint16_t Pre)
{
EPC->S_P_En = 1;
EPC->Pset = Pre;
}
復(fù)制代碼
#include "THP.h"
struct TemHumPre THP1;
void THPInit(void)
{
THP1.MMD = &MMDPort1;
THP1.DeviceAddr = 0x03;
}
uint8_t ReadTHP(void *Para)
{
struct TemHumPre *THP;
THP = (struct TemHumPre*)Para;
if(ReadHoldInputReg(THP->MMD,THP->DeviceAddr,0x04,0,3) != 0)
{
if(THP->MMD->RIR_Update)
{
THP->MMD->RIR_Update = 0;
if(THP->MMD->Input_Reg[0] != 0xffff)
{
THP->AirTemp = (float)(THP->MMD->Input_Reg[0]-10000)/10;
}
if(THP->MMD->Input_Reg[1] != 0xffff)
{
THP->AirHun = (float)THP->MMD->Input_Reg[1]/10;
}
if(THP->MMD->Input_Reg[2] != 0xffff)
{
THP->AirPre = (float)THP->MMD->Input_Reg[2]/10;
}
}
THP->Enable = 0;
return 1;
}
return 0;
}
void ReadTHPEnable(struct TemHumPre *THP)
{
THP->Enable = 1;
}
復(fù)制代碼
整體來看,每個(gè)任務(wù)都分為任務(wù)主體和任務(wù)使能兩個(gè)部分,任務(wù)主體由下一章要介紹的調(diào)度篇來調(diào)用,使能由用戶來調(diào)用,比如THP需要每隔1S讀取一次那么就使函數(shù)“
void ReadTHPEnable(struct TemHumPre *THP)
”每隔1S執(zhí)行一次。
static void Task_1000ms(void)
{
ReadTHPEnable(&THP1);
}
復(fù)制代碼
而EPC需要500ms讀取一次氣壓,則使函數(shù)“
void ReadEPFEnable(struct EpcPre *EPC)
”每隔500ms執(zhí)行一次。
static void Task_500ms(void)
{
ReadEPFEnable(&EPC1);
}
復(fù)制代碼
對(duì)于寫保持寄存器相關(guān)的任務(wù)我們可以順道把要寫的數(shù)據(jù)放在使能函數(shù)里,這樣可以使寫保持寄存器的任務(wù)主體函數(shù)更加簡(jiǎn)潔。
下面我們需要著重講解一下任務(wù)主體的實(shí)現(xiàn)。
以讀取EPC氣壓為例,任務(wù)會(huì)首先執(zhí)行函數(shù)“
ReadHoldInputReg
()”并判斷返回值,根據(jù)協(xié)議篇可以知道在等待從機(jī)應(yīng)答的那段時(shí)間“
ReadHoldInputReg
()”會(huì)返回0,于是“
ReadEPC
()”也返回0告知上層函數(shù)目前正在等待從機(jī)應(yīng)答;若“
ReadHoldInputReg
()”返回1則說明從機(jī)成功應(yīng)答或者應(yīng)答超時(shí)了,我們?cè)趺粗赖降资菓?yīng)答了還是超時(shí)了呢?這就需要讀取變量
RIR_Update
,若為1則說明應(yīng)答成功我們就需要把讀到的數(shù)據(jù)進(jìn)行保存和處理,
RIR_Update
也完成了它的使命所以將其置0,并將
DataUpdate
置1告知上層函數(shù)數(shù)據(jù)讀取成功。從機(jī)無論是應(yīng)答還是超時(shí)都需要將R_En置0并返回1這點(diǎn)至關(guān)重要。
所有的任務(wù)必須嚴(yán)格按照該格式來實(shí)現(xiàn),否則會(huì)影響上層的調(diào)度工作。
至此任務(wù)篇就介紹完畢了。
作者:
LH4492
時(shí)間:
2022-4-18 11:03
教程很好,學(xué)習(xí)學(xué)習(xí),感謝!
作者:
qhp777
時(shí)間:
2023-5-12 16:43
crc沒看到,
作者:
linlin1
時(shí)間:
2024-7-10 15:32
這是哪個(gè)系類單片機(jī)的呢
作者:
linlin1
時(shí)間:
2024-7-10 15:32
只是什么系列的單片機(jī)呢
作者:
qinlu123
時(shí)間:
2024-10-30 16:58
qhp777 發(fā)表于 2023-5-12 16:43
crc沒看到,
CRC在協(xié)議篇里
作者:
qinlu123
時(shí)間:
2024-10-30 16:59
linlin1 發(fā)表于 2024-7-10 15:32
只是什么系列的單片機(jī)呢
這些代碼不分單片機(jī),底層應(yīng)用層分離的只需要修改一點(diǎn)點(diǎn)接口代碼就行
歡迎光臨 (http://www.izizhuan.cn/bbs/)
Powered by Discuz! X3.1
ga∨成人网
|
亚洲va在线
|
japanesexxxx在线播放
|
日韩精品久久久久久免费
|
青青草av网站
|
精品国产乱码久久久久
|
亚洲男人的天堂网站
|
亚洲一区二区综合
|
国产成人精品影院
|
中文字幕免费精品
|
久久国内精品
|
国产大学生校花援交在线播放
|
一区二区三区小视频
|
久久久久久激情
|
波多野结衣网页
|
男人添女人下部视频免费
|
成人有码在线播放
|
欧美插天视频在线播放
|
911国产精品
|
...中文天堂在线一区
|
日本美女一区二区三区
|
国模精品一区
|
91精品一区
|
黄色免费在线观看
|
青柠在线影院观看日本
|
国产95在线|亚洲
|
高h调教冰块play男男双性文
|
欧美成人手机视频
|
波多野结衣影院
|
日本人视频jizz页码69
|
中文字幕久久一区
|
国产一区二区不卡视频在线观看
|
国内免费精品永久在线视频
|
亚洲成人久久电影
|
欧美亚洲丝袜传媒另类
|
亚洲激情自拍偷拍
|
久久尤物电影视频在线观看
|
欧美a级理论片
|
红桃视频国产精品
|
久久av电影
|
国产亚洲字幕
|
欧亚一区二区
|
色呦呦在线看
|
久久日韩视频
|
成人欧美亚洲
|
日本视频在线观看一区二区三区
|
中文字幕高清20页
|
黄色免费视频
|
天堂网www在线网
|
精品久久九九
|
欧美乱妇18p
|
天天干天天干天天干
|
亚洲视频在线观看一区二区
|
日韩精品在线免费看
|
国产精品视频一区二区三
|
受虐m奴xxx在线观看
|
人妻精品久久久久中文字幕69
|
欧美日韩在线免费播放
|
日韩av在线第一页
|
国产精品专区在线
|
免费看又黄又无码的网站
|
福利网在线观看
|
中文字幕免费在线不卡
|
亚洲国产高清国产精品
|
日韩一区二区电影在线观看
|
日韩成人在线资源
|
亚洲激情一区二区三区
|
婷婷五月色综合
|
在线国产精品网
|
亚洲一区二区在线免费观看
|
亚洲精品国产精品国自产
|
欧洲av一区
|
影音先锋欧美在线
|
六月婷婷激情网
|
岛国大片在线播放
|
www.中文字幕在线
|
国产成人无码一二三区视频
|
国产成人无码一二三区视频
|
av免费网站观看
|
成人不卡免费视频
|
精品伦一区二区三区
|
麻豆av免费看
|
中文字幕在线看高清电影
|
久久日免费视频
|
久青草免费视频
|
波多野结衣二区三区
|
亚洲手机在线观看
|
色窝窝无码一区二区三区
|
日韩成人黄色片
|
国产精选在线视频拍拍拍
|
尤物视频网站
|
av网站免费观看
|
在线视频中文字幕久
|
国产在线播放av
|
欧美性爽视频
|
成人福利一区二区
|
国产精品网站在线看
|
日韩欧美不卡
|
性欧美videos另类喷潮
|
另类调教123区
|
91色在线porny
|
夜夜揉揉日日人人青青一国产精品
|
欧美色欧美亚洲高清在线视频
|
7777精品伊人久久久大香线蕉的
|
丁香综合五月
|
色播在线视频
|
国产黄网站在线观看
|
超碰91在线观看
|
国产精品亚洲四区在线观看
|
亚洲日产av中文字幕
|
亚洲色图88
|
九九在线精品视频
|
日本一区二区三区免费乱视频
|
一区2区3区在线看
|
这里只有精品99re
|
久久精品国产电影
|
国产日韩欧美影视
|
亚洲精品一区二区三区av
|
女人帮男人橹视频播放
|
在线免费黄色小视频
|
黑人操日本美女
|
一级特黄aaa大片在线观看
|
男人的天堂视频网站
|
2色视频网站
|
91社区在线观看播放
|
成人性生活av
|
欧美中文一区二区
|
久久精品久久久精品美女
|
欧美激情一二三区
|
在线综合亚洲欧美在线视频
|
日韩亚洲欧美成人
|
91aaaa
|
日韩精品在线观看av
|
国产a级黄色片
|
日韩精品在线免费视频
|
区二区三区在线
|
浪潮av在线
|
成人av影院在线观看
|
国产精品传媒
|
免播放器亚洲一区
|
又紧又大又爽精品一区二区
|
亚洲第一精品电影
|
国产成人在线一区
|
欧美日韩亚洲国产成人
|
黑森林av导航
|
中文字幕精品在线观看
|
摸bbb搡bbb搡bbbb
|
午夜av在线播放
|
欧美军人男男激情gay
|
黄色资源网久久资源365
|
一级做a爱片久久
|
亚洲欧美综合精品久久成人
|
成人情趣片在线观看免费
|
www.夜夜爱
|
欧美激情视频二区
|
五月天丁香视频
|
国产91精品一区
|
国产在线观看不卡一区二区三区
|
欧美美女色图
|
www.丝袜精品
|
精品一区二区三区在线播放
|
午夜精品久久久久久久久久
|
最近2019中文免费高清视频观看www99
|
欧美亚洲第一页
|
欧美日韩在线一区二区三区
|
亚洲第一区第二区第三区
|
欧美成人精品欧美一级乱黄
|
天堂在线中文网
|
中文字幕在线观看第一页
|
2020国产精品小视频
|
日韩在线卡一卡二
|
欧美日韩国产影院
|
午夜精品久久久久久久白皮肤
|
日韩一级毛片
|
国产亚洲成aⅴ人片在线观看
|
精品日韩99亚洲
|
成人做爰66片免费看网站
|
亚洲精品mv在线观看
|
成人午夜精品视频
|
aaaaa毛片
|
日本在线成人
|
国产精品18久久久久久久网站
|
欧美日韩精品专区
|
91在线看国产
|
在线播放/欧美激情
|
欧亚精品在线观看
|
亚洲高清在线免费观看
|
久久精品国产亚洲AV无码麻豆
|
国产精品在线
|
国产美女情趣调教h一区二区
|
天天做天天爱天天综合网2021
|
国产精品久久久久久久裸模
|
日韩最新中文字幕电影免费看
|
国产精品香蕉视屏
|
av男人的天堂av
|
欧美四级剧情无删版影片
|
sese一区
|
五月婷婷六月综合
|
亚洲欧美日韩综合aⅴ视频
|
欧美极品少妇xxxxⅹ喷水
|
国内少妇毛片视频
|
中文天堂在线资源
|
黄色在线免费观看大全
|
888久久久
|
亚洲va中文字幕
|
国产精品久久久久久久久久新婚
|
日韩在线卡一卡二
|
日韩欧美高清在线
|
日本一区不卡
|
久久免费播放视频
|
国产网红在线
|
日韩av自拍
|
天天综合色天天综合色h
|
国产精品色悠悠
|
中文字幕一区二区三区人妻不卡
|
国产一线天粉嫩馒头极品av
|
久久青草视频
|
国产网站一区二区三区
|
久久久久久久久国产
|
韩国日本美国免费毛片
|
www.久久伊人
|
国产精品va在线观看视色
|
国产精品普通话对白
|
欧美综合亚洲图片综合区
|
成人精品久久久
|
亚洲精品国产一区黑色丝袜
|
欧美另类极品videosbest视频
|
99只有精品
|
美女精品一区二区
|
一区二区三区精品99久久
|
日本三日本三级少妇三级66
|
www欧美在线
|
午夜黄色在线观看
|
欧美日本三区
|
精品久久国产字幕高潮
|
久久av喷吹av高潮av
|
亚洲视频中文字幕在线观看
|
18+激情视频在线
|
国产一区二区你懂的
|
亚洲国产欧美久久
|
久久观看最新视频
|
一级黄色小视频
|
久久av色综合
|
av福利精品
|
成人三级视频
|
欧美日韩欧美一区二区
|
精品久久精品久久
|
久久中文字幕在线观看
|
手机看片福利在线观看
|
亚洲午夜91
|
日韩亚洲欧美在线
|
91制片厂免费观看
|
免费av网站观看
|
激情久久免费视频
|
婷婷久久综合九色综合绿巨人
|
91在线看黄
|
国产中文一区二区三区
|
久久精品久久精品亚洲人
|
亚洲av无一区二区三区久久
|
成年人福利网站
|
中文无码久久精品
|
亚洲欧洲一区二区三区在线观看
|
亚洲国产高清av
|
成年女人免费v片
|
亚洲国产一区二区三区a毛片
|
亚洲视频综合网
|
免费黄视频在线观看
|
一插菊花综合
|
午夜在线视频观看日韩17c
|
色偷偷偷亚洲综合网另类
|
日本黄色www
|
婷婷色播视频
|
久久一综合视频
|
欧美激情成人在线视频
|
欧美激情亚洲色图
|
国产三区四区在线观看
|
成熟亚洲日本毛茸茸凸凹
|
日本亚洲欧美三级
|
久久狠狠高潮亚洲精品
|
久热在线观看视频
|
亚洲激情在线激情
|
日韩欧美国产一二三区
|
国产成人无码一二三区视频
|
一分钟免费观看视频播放www
|
精品国产乱码久久久久久夜甘婷婷
|
啊啊啊一区二区
|
一个人看的www视频免费观看
|
美女福利精品视频
|
色噜噜噜噜噜噜
|
日韩专区在线
|
欧美国产欧美亚州国产日韩mv天天看完整
|
日本韩国欧美一区
|
99爱视频在线
|
小次郎av收藏家
|
奇米亚洲午夜久久精品
|
日本一欧美一欧美一亚洲视频
|
欧美国产在线看
|
欧美电影免费观看
|
色欲综合视频天天天
|
红桃av在线播放
|
日本aⅴ中文
|
av不卡在线播放
|
快播亚洲色图
|
手机看片日韩
|
一区二区亚洲
|
日本五十熟hd丰满
|
无码人妻久久一区二区三区不卡
|
国产精品三级一区二区
|
亚洲精品午夜视频
|
在线观看av的网站
|
亚洲欧洲国产日本综合
|
一区二区三区四区欧美日韩
|
麻豆精品免费视频入口
|
欧美破处大片在线视频
|
26uuu另类亚洲欧美日本老年
|
欧美激情亚洲综合
|
一区视频网站
|
亚洲欧美国产一区二区三区
|
免费看的黄色网
|
忘忧草在线影院两性视频
|
在线视频国产一区
|
69久久精品无码一区二区
|
国产二区视频在线观看
|
亚洲一区二区视频在线
|
中文字幕日本最新乱码视频
|
韩国97影院
|
中文字幕久久午夜不卡
|
超碰免费在线公开
|
免费观看视频www
|
久久夜色精品国产欧美乱极品
|
神马影院午夜我不卡
|
日日干天夜夜
|
国产成人午夜99999
|
日韩欧美视频一区二区
|
欧洲毛片视频
|
99在线精品免费
|
老司机午夜网站
|
91午夜在线
|
亚洲综合免费观看高清完整版在线
|
一区二区av在线
|
日本少妇bbwbbw精品
|
亚洲天堂中文字幕在线观看
|
一区二区三区亚洲
|
成年人视频在线免费看
|
欧美日一区二区
|
日本视频久久久
|
亚洲人成影院77777
|
久久一区欧美
|
色大师av一区二区三区
|
国产成人综合美国十次
|
欧美高清在线精品一区
|
国产日韩成人内射视频
|
麻豆视频在线播放
|
欧美久久高跟鞋激
|
日韩欧美在线视频播放
|
色999久久久精品人人澡69
|
亚洲国产视频直播
|
四虎国产精品永久免费观看视频
|
日本高清成人vr专区
|
欧美成人乱码一区二区三区
|
国产精品白嫩白嫩大学美女
|
人体久久天天
|
国产精品av在线播放
|
国产一区二区三区四区尤物
|
成人一区在线观看
|
大肉大捧一进一出好爽视频
|
欧美18hd
|
精品乱人伦一区二区三区
|
国产精品成人久久
|
91亚洲成人
|
国产在线观看一区
|
欧美成人影院在线播放
|
亚洲成人激情av
|
在线观看免费小视频
|
欧美激情极品
|
欧美孕妇与黑人孕交
|
欧美激情福利视频在线观看免费
|
国产成a人亚洲
|
蜜臀av午夜一区二区三区
|
污视频在线看网站
|
亚洲天堂av综合网
|
99久久久国产精品无码免费
|
日韩精品一卡二卡三卡四卡无卡
|
一区二区三区欧美成人
|
成年人视频在线免费观看
|
91精品国产黑色紧身裤美女
|
日本一区二区三区四区五区
|
亚洲国产一区二区三区在线播放
|
蜜臀久久99精品久久久久久宅男
|
人妻偷人精品一区二区三区
|
精油按摩中文字幕久久
|
www.国产亚洲
|
青春草视频在线
|
中文字幕不卡在线视频极品
|
精品人妻无码一区二区
|
国产精品一区二区在线观看网站
|
中文字幕欧美人妻精品一区
|
yw.尤物在线精品视频
|
欧美性受xxxx黑人猛交
|
天堂网www天堂在线网
|