一、
觸發(fā)器很多時候是很有用的,CAN總線或者串口周期發(fā)送一個信號,這個信號作為一個判斷條件,當這個信號為有效信號時只需要執(zhí)行一遍用戶程序。
這里用觸發(fā)器就會很好處理,有效信號為高電平那么做一個上升沿觸發(fā)函數(shù),有效信號為低電平那么做一個下降沿觸發(fā)函數(shù)。
二、觸發(fā)器功能實現(xiàn)
1、首先定義一個結構體
typedef struct _trig
{
bool input;
bool output;
bool lastInput;
}trig_t;
C語言本身是沒有bool類型的,我們可以自己定義一個或者使用#include 添加這個庫。
2、上升沿函數(shù)
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、下降沿函數(shù)
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)) {
/* 只執(zhí)行一遍的用戶代碼 */
}
return 0;
}
下降沿:
trig_t F = {
.input = true;
.laseInput = true;
}; /* 定義一個結構體 R */
bool userVar = true; /* 定義一個用于接收總線信號的變量 */
int main()
{
F.input = userVar;
if( F_Trig(&F)) {
/* 只執(zhí)行一遍的用戶代碼 */
}
return 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
CAN總線
+關注
關注
145文章
1973瀏覽量
132222 -
C語言
+關注
關注
180文章
7630瀏覽量
140222 -
觸發(fā)器
+關注
關注
14文章
2032瀏覽量
61864
發(fā)布評論請先 登錄
相關推薦
熱點推薦
D觸發(fā)器/J-K觸發(fā)器的功能測試及其應用
D觸發(fā)器的功能測試74LS74型雙D觸發(fā)器芯片引腳圖,D觸發(fā)器功能測試的引腳連線圖,D觸發(fā)器
發(fā)表于 02-14 15:27
?0次下載

基本觸發(fā)器功能的描述
描述觸發(fā)器的邏輯功能,通常采用下面三種方法:1.狀態(tài)轉(zhuǎn)移真值表為了表明觸發(fā)器在輸入信號作用下,
發(fā)表于 08-13 09:21
?6563次閱讀

觸發(fā)器功能的模擬實現(xiàn)
1、掌握觸發(fā)器功能的測試方法。
2、掌握基本RS觸發(fā)器的組成及工作原理。
3、掌握集成JK觸發(fā)器和D觸發(fā)器的邏輯
發(fā)表于 07-10 14:39
?18次下載
基于CPLD的觸發(fā)器功能的模擬實現(xiàn)
實驗內(nèi)容 將基本RS觸發(fā)器,同步RS觸發(fā)器,集成J-K觸發(fā)器,D觸發(fā)器同時集成一個CPLD芯片中模擬其功能,并研究其相互轉(zhuǎn)換的方法。 實驗的
發(fā)表于 12-05 09:33
?13次下載

jk觸發(fā)器實現(xiàn)74ls194功能
JK觸發(fā)器是數(shù)字電路觸發(fā)器中的一種基本電路單元。本文以jk觸發(fā)器為中心,主要介紹了JK觸發(fā)器工作特性以及jk觸發(fā)器是如何
發(fā)表于 12-22 16:09
?2.5w次閱讀

觸發(fā)器的輸出是現(xiàn)態(tài)函數(shù)
觸發(fā)器的輸出是現(xiàn)態(tài)函數(shù) 觸發(fā)器是數(shù)字電路中的一種重要元件,它們通常被用于存儲和裝載二進制數(shù)據(jù),也可以用于控制和同步各種數(shù)字電路。在許多數(shù)字電路應用中,觸發(fā)器的輸出通常被用作輸入信號來
觸發(fā)器激勵函數(shù)和輸出函數(shù)解析
觸發(fā)器激勵函數(shù)和輸出函數(shù)解析? 觸發(fā)器是數(shù)字電路中的一種重要的組合邏輯電路,其可以達到存儲、延時、計數(shù)等功能。
rs觸發(fā)器的邏輯功能
RS觸發(fā)器是數(shù)字電路中最簡單的一種觸發(fā)器,其由兩個互相反向的電平觸發(fā)器組成。RS觸發(fā)器的邏輯功能非常重要,它可以用于存儲1位二進制數(shù)據(jù),并能
RS觸發(fā)器的實現(xiàn)原理 rs觸發(fā)器具有什么功能
RS觸發(fā)器是一種基本的數(shù)字邏輯電路,它由兩個互補的反饋連接組成。RS觸發(fā)器可以用作其他高級邏輯電路的構建模塊,如計數(shù)器、移位寄存器和內(nèi)存單元等。本文將詳細介紹RS
如何用jk觸發(fā)器構成t觸發(fā)器?t觸發(fā)器邏輯功能有哪些
的觸發(fā)器,其輸入信號作用于觸發(fā)器,觸發(fā)器將根據(jù)輸入信號進行狀態(tài)切換。本文將詳細介紹如何使用JK觸發(fā)器構成T觸發(fā)器,并介紹T
t觸發(fā)器與d觸發(fā)器的區(qū)別和聯(lián)系
)。 1. 觸發(fā)器的基本概念 觸發(fā)器是一種具有記憶功能的電路,它可以存儲一位二進制信息。在數(shù)字電路中,觸發(fā)器通常由兩個穩(wěn)定的工作狀態(tài)組成,即0狀態(tài)和1狀態(tài)。
t觸發(fā)器變?yōu)閐觸發(fā)器的條件
是一種具有記憶功能的數(shù)字電路元件,可以存儲一位二進制信息。它通常由邏輯門、觸發(fā)器存儲元件和反饋回路組成。觸發(fā)器的輸出狀態(tài)取決于輸入信號和當前狀態(tài)。 1.2 觸發(fā)器的分類
基本rs觸發(fā)器有哪三種功能 基本rs觸發(fā)器的觸發(fā)方式是什么
變?yōu)楦唠娖健.斴斎胄盘朢為高電平時,觸發(fā)器的輸出Q將被置為高電平,無論輸入信號S的狀態(tài)如何。這種功能通常用于將觸發(fā)器的狀態(tài)設置為特定的初始狀態(tài)。 置位功能的
怎么用jk觸發(fā)器變成t觸發(fā)器
將JK觸發(fā)器變成T觸發(fā)器,主要涉及到對JK觸發(fā)器的輸入端口進行適當?shù)倪B接和配置,以實現(xiàn)T觸發(fā)器的邏輯功能
評論