分支資料監測終端(啟動)
前言
延時保證煙感等TC_BUS裝置斷電重啟,需要5秒延時
tcbus 煙溫一體感測器 2秒閃一下是沒註冊成功 6秒閃是註冊成功了 需要重啟分支終端 按感測器規約(資料傳輸時擴大10倍)
TCBUS
初始化程式碼如下(示例):
INT8U read_TCBUS_state(void)
{
INT8U data;
data = 0xFF; //mcu端接收tcbus的引腳
if(PLIB_PORTS_PinGet( PORTS_ID_0, PORT_CHANNEL_B, PORTS_BIT_POS_3))
{
data = 0x01;
}
else
{
data = 0x00;
}
return data;
}
串列埠軟體下發報文,沒有回傳的異常現象:
接收的不全:
表示只接收到六位快取,原理可能是:1、傳送端報文就丟失了。2、接收端丟失。
1、嘗試再開一路COM口(用RS232轉485)監視485口傳送端報文的完整性:
2、因此進一步判斷應該就是接收端出現問題:
2.1 可能是接收端 報文位元組間延時閾值 導致的接收不完整
2.2 可能是485串列埠 半雙工資料傳輸 可能是傳輸方向驟變導致的
recv_int = read(50);//一位元組一位元組的讀串列埠數值 結合下面函式分析
// 50ms的時間內一直讀data = drv_uart3_read();
// 過了50ms如果還是沒有資料就直接return -1退出,data的值仍為-1
INT16S if_rs485_read ( INT16U time_out )
{
INT16S data;
INT32U time_begin;
time_begin = tpos_time_10ms();
do{
data = drv_uart3_read();
if(data == -1)
{
if(time_out <= tpos_elapsed_10ms(time_begin))
//如果 串列埠讀取資料的時間 大於 設定的time_out 則程式結束 查一下就走
{
return -1;
}
tpos_yield();
}
}while(-1 == data);
return data;
}
if(recv_int == -1)
{
if (recv_params->elmt.pos == 0)
{
if (tpos_elapsed_10ms(recv_params->elmt.time_start) > first_timeout_10ms) //return 0; //首位元組超時1s
{init_recv_params(recv_params,max_size);
return TRUE;
}
}
else//報文接收在中間位置停頓了 (片段丟失)就會到這裡
{
if ((RECV_FRAME_UNKNOWN == resp_type) || (RECV_FRAME_UNKNOWN_CHECK == resp_type))//接收未知格式時,字元間延時變長些,目前只有搜表會使用未知格式接收
{
if (tpos_elapsed_10ms(recv_params->elmt.time_start) > byte_timeout_10ms) //return pos; //字元間延時不能超過200ms(byte_timeout_10ms值為5有時候會導致沒有應答幀)
{
mem_set(temp_buf,0x00,100);
temp_len=0;
recv_params->elmt.ctrl_flag = DISTRIBUTED_RECV_CTRL_PRECESS_FRME;
return TRUE;
}
}
else
{
if (tpos_elapsed_10ms(recv_params->elmt.time_start) > byte_timeout_10ms) //return 0; //字元間延時不能超過50ms
{
init_recv_params(recv_params,max_size);
return TRUE;
}
}
}
return FALSE;
}
最後發現是這個終端裝置對於38400的波特率不是非常匹配,採用9600以後沒出現過此類問題。
相關文章
- 分支資料監測終端(新增TCBUS事件清除功能)事件
- 智慧配變綜合監測終端
- 啟動資料庫監聽資料庫
- 啟動資料庫映象監視器資料庫
- [Linux]在終端啟動程式關閉終端不退出的方法Linux
- 啟動資料庫,啟動監聽,檢視是否歸檔資料庫
- 水利遙測終端機(水利rtu)河道水質監測系統
- 筆記:MMM監控端啟動流程筆記
- 在Mac終端顯示 Git 當前所在分支MacGit
- 遠端啟動資料庫的條件資料庫
- [20170825]不啟動監聽遠端能連線資料庫嗎2資料庫
- 【新佈局】火絨安全企業產品Linux終端、macOS終端開啟公測LinuxMac
- 資料庫重啟,TSM不能備份,需要在TSM的客戶端(ORACLE)啟動TSM監控程式資料庫客戶端Oracle
- oracle資料庫監聽啟動不了的原因分析Oracle資料庫
- 軟體測試--前後端資料互動後端
- 全國計算機和移動終端病毒疫情調查啟動計算機
- 資料庫開啟監聽資料庫
- MySQL終端管理資料庫操作指南MySql資料庫
- 配置作業系統重啟後,Oracle資料庫和監聽自動啟動作業系統Oracle資料庫
- 博睿資料智慧監測終端全面升級,計算能力強大、使用者體驗真實性高
- 使用SqlDependency監測資料庫SQL資料庫
- 可穿戴的纖維感測器 實時動作資料監測
- [20151023]不啟動監聽遠端能連線資料庫嗎?資料庫
- 助力使用者告別emo ! Bonree Box 3.0應用效能監測終端評測
- 22個月,資料驅動“新型終端”駛上新賽道CLM
- 使用終端虛擬示波器顯示資料
- mac 下終端啟動 appium,執行程式碼時報錯MacAPP行程
- 醫院端的資料庫啟動不了之解決。資料庫
- 億咖通科技與百度網盤啟動合作 打通車載終端資料雲管理能力
- 超實用案例:美團終端主動監控平臺的建設
- LINUX開機自動啟動ORACLE資料庫和監聽指令碼LinuxOracle資料庫指令碼
- Git分支(遠端)Git
- IO終端+感測器資料採集方案可以應用在哪些場景
- 物聯網終端裝置——遠端資料採集儀
- mac資料庫管理工具 Valentina Studio Pro 13.6終端啟用版Mac資料庫
- 微信終端開源資料庫 WCDB – Swift 版本資料庫Swift
- C語言將資料表輸出到終端C語言
- 微信終端開源資料庫 WCDB - Swift 版本資料庫Swift