一、
觸發(fā)器很多時候是很有用的,CAN總線或者串口周期發(fā)送一個信號,這個信號作為一個判斷條件,當這個信號為有效信號時只需要執(zhí)行一遍用戶程序。
這里用觸發(fā)器就會很好處理,有效信號為高電平那么做一個上升沿觸發(fā)函數,有效信號為低電平那么做一個下降沿觸發(fā)函數。
二、觸發(fā)器功能實現
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)) {
/* 只執(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;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。
舉報投訴
-
CAN總線
+關注
關注
145文章
2043瀏覽量
135228 -
C語言
+關注
關注
183文章
7644瀏覽量
145605 -
觸發(fā)器
+關注
關注
14文章
2056瀏覽量
63410
發(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)轉移真值表為了表明觸發(fā)器在輸入信號作用下,
發(fā)表于 08-13 09:21
?6751次閱讀
觸發(fā)器功能的模擬實現
1、掌握觸發(fā)器功能的測試方法。
2、掌握基本RS觸發(fā)器的組成及工作原理。
3、掌握集成JK觸發(fā)器和D觸發(fā)器的邏輯
發(fā)表于 07-10 14:39
?18次下載
基于CPLD的觸發(fā)器功能的模擬實現
實驗內容 將基本RS觸發(fā)器,同步RS觸發(fā)器,集成J-K觸發(fā)器,D觸發(fā)器同時集成一個CPLD芯片中模擬其功能,并研究其相互轉換的方法。 實驗的
發(fā)表于 12-05 09:33
?13次下載
jk觸發(fā)器實現74ls194功能
JK觸發(fā)器是數字電路觸發(fā)器中的一種基本電路單元。本文以jk觸發(fā)器為中心,主要介紹了JK觸發(fā)器工作特性以及jk觸發(fā)器是如何
發(fā)表于 12-22 16:09
?2.6w次閱讀
觸發(fā)器的輸出是現態(tài)函數
觸發(fā)器的輸出是現態(tài)函數 觸發(fā)器是數字電路中的一種重要元件,它們通常被用于存儲和裝載二進制數據,也可以用于控制和同步各種數字電路。在許多數字電路應用中,觸發(fā)器的輸出通常被用作輸入信號來
觸發(fā)器激勵函數和輸出函數解析
觸發(fā)器激勵函數和輸出函數解析? 觸發(fā)器是數字電路中的一種重要的組合邏輯電路,其可以達到存儲、延時、計數等功能。
rs觸發(fā)器的邏輯功能
RS觸發(fā)器是數字電路中最簡單的一種觸發(fā)器,其由兩個互相反向的電平觸發(fā)器組成。RS觸發(fā)器的邏輯功能非常重要,它可以用于存儲1位二進制數據,并能
RS觸發(fā)器的實現原理 rs觸發(fā)器具有什么功能
RS觸發(fā)器是一種基本的數字邏輯電路,它由兩個互補的反饋連接組成。RS觸發(fā)器可以用作其他高級邏輯電路的構建模塊,如計數器、移位寄存器和內存單元等。本文將詳細介紹RS
如何用jk觸發(fā)器構成t觸發(fā)器?t觸發(fā)器邏輯功能有哪些
的觸發(fā)器,其輸入信號作用于觸發(fā)器,觸發(fā)器將根據輸入信號進行狀態(tài)切換。本文將詳細介紹如何使用JK觸發(fā)器構成T觸發(fā)器,并介紹T
t觸發(fā)器與d觸發(fā)器的區(qū)別和聯系
)。 1. 觸發(fā)器的基本概念 觸發(fā)器是一種具有記憶功能的電路,它可以存儲一位二進制信息。在數字電路中,觸發(fā)器通常由兩個穩(wěn)定的工作狀態(tài)組成,即0狀態(tài)和1狀態(tài)。
t觸發(fā)器變?yōu)閐觸發(fā)器的條件
是一種具有記憶功能的數字電路元件,可以存儲一位二進制信息。它通常由邏輯門、觸發(fā)器存儲元件和反饋回路組成。觸發(fā)器的輸出狀態(tài)取決于輸入信號和當前狀態(tài)。 1.2 觸發(fā)器的分類
基本rs觸發(fā)器有哪三種功能 基本rs觸發(fā)器的觸發(fā)方式是什么
變?yōu)楦唠娖?。當輸入信號R為高電平時,觸發(fā)器的輸出Q將被置為高電平,無論輸入信號S的狀態(tài)如何。這種功能通常用于將觸發(fā)器的狀態(tài)設置為特定的初始狀態(tài)。 置位功能的
怎么用jk觸發(fā)器變成t觸發(fā)器
將JK觸發(fā)器變成T觸發(fā)器,主要涉及到對JK觸發(fā)器的輸入端口進行適當的連接和配置,以實現T觸發(fā)器的邏輯功能
觸發(fā)器功能函數實現
評論