一、
觸發器很多時候是很有用的,CAN總線或者串口周期發送一個信號,這個信號作為一個判斷條件,當這個信號為有效信號時只需要執行一遍用戶程序。
這里用觸發器就會很好處理,有效信號為高電平那么做一個上升沿觸發函數,有效信號為低電平那么做一個下降沿觸發函數。
二、觸發器功能實現
1、首先定義一個結構體
typedef struct _trig
{
bool input;
bool output;
bool lastInput;
}trig_t;
C語言本身是沒有bool類型的,我們可以自己定義一個或者使用#include 添加這個庫。
2、上升沿函數
bool R_Trig(trig_t* trig)
{
if((trig- >input==true) && (trig- >lastInput==false)) {
trig- >output = true;
} else {
trig- >output = false;
}
trig- >lastInput = trig- >input;
return trig- >output;
}
3、下降沿函數
bool F_Trig(trig_t* trig)
{
if((trig- >input==false) && (trig- >lastInput==true)) {
trig- >output = true;
} else {
trig- >output = false;
}
trig- >lastInput = trig- >input;
return trig- >output;
}
4、使用例程
上升沿:
trig_t R = {0}; /* 定義一個結構體 R */
bool userVar = false; /* 定義一個用于接收總線信號的變量 */
int main()
{
R.input = userVar;
if( R_Trig(&R)) {
/* 只執行一遍的用戶代碼 */
}
return 0;
}
下降沿:
trig_t F = {
.input = true;
.laseInput = true;
}; /* 定義一個結構體 R */
bool userVar = true; /* 定義一個用于接收總線信號的變量 */
int main()
{
F.input = userVar;
if( F_Trig(&F)) {
/* 只執行一遍的用戶代碼 */
}
return 0;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
CAN總線
+關注
關注
145文章
1950瀏覽量
130728 -
C語言
+關注
關注
180文章
7604瀏覽量
136697 -
觸發器
+關注
關注
14文章
2000瀏覽量
61132
發布評論請先 登錄
相關推薦
基于CPLD的觸發器功能的模擬實現
實驗內容 將基本RS觸發器,同步RS觸發器,集成J-K觸發器,D觸發器同時集成一個CPLD芯片中模擬其功能,并研究其相互轉換的方法。 實驗的
發表于 12-05 09:33
?13次下載
jk觸發器實現74ls194功能
JK觸發器是數字電路觸發器中的一種基本電路單元。本文以jk觸發器為中心,主要介紹了JK觸發器工作特性以及jk觸發器是如何
發表于 12-22 16:09
?2.4w次閱讀
觸發器的輸出是現態函數
觸發器的輸出是現態函數 觸發器是數字電路中的一種重要元件,它們通常被用于存儲和裝載二進制數據,也可以用于控制和同步各種數字電路。在許多數字電路應用中,觸發器的輸出通常被用作輸入信號來
rs觸發器的邏輯功能
RS觸發器是數字電路中最簡單的一種觸發器,其由兩個互相反向的電平觸發器組成。RS觸發器的邏輯功能非常重要,它可以用于存儲1位二進制數據,并能
RS觸發器的實現原理 rs觸發器具有什么功能
RS觸發器是一種基本的數字邏輯電路,它由兩個互補的反饋連接組成。RS觸發器可以用作其他高級邏輯電路的構建模塊,如計數器、移位寄存器和內存單元等。本文將詳細介紹RS
如何用jk觸發器構成t觸發器?t觸發器邏輯功能有哪些
的觸發器,其輸入信號作用于觸發器,觸發器將根據輸入信號進行狀態切換。本文將詳細介紹如何使用JK觸發器構成T觸發器,并介紹T
t觸發器與d觸發器的區別和聯系
)。 1. 觸發器的基本概念 觸發器是一種具有記憶功能的電路,它可以存儲一位二進制信息。在數字電路中,觸發器通常由兩個穩定的工作狀態組成,即0狀態和1狀態。
t觸發器變為d觸發器的條件
是一種具有記憶功能的數字電路元件,可以存儲一位二進制信息。它通常由邏輯門、觸發器存儲元件和反饋回路組成。觸發器的輸出狀態取決于輸入信號和當前狀態。 1.2 觸發器的分類
基本rs觸發器有哪三種功能 基本rs觸發器的觸發方式是什么
變為高電平。當輸入信號R為高電平時,觸發器的輸出Q將被置為高電平,無論輸入信號S的狀態如何。這種功能通常用于將觸發器的狀態設置為特定的初始狀態。 置位功能的
評論