一、
觸發(fā)器很多時(shí)候是很有用的,CAN總線或者串口周期發(fā)送一個(gè)信號(hào),這個(gè)信號(hào)作為一個(gè)判斷條件,當(dāng)這個(gè)信號(hào)為有效信號(hào)時(shí)只需要執(zhí)行一遍用戶程序。
這里用觸發(fā)器就會(huì)很好處理,有效信號(hào)為高電平那么做一個(gè)上升沿觸發(fā)函數(shù),有效信號(hào)為低電平那么做一個(gè)下降沿觸發(fā)函數(shù)。
二、觸發(fā)器功能實(shí)現(xiàn)
1、首先定義一個(gè)結(jié)構(gòu)體
typedef struct _trig
{
bool input;
bool output;
bool lastInput;
}trig_t;
C語(yǔ)言本身是沒(méi)有bool類型的,我們可以自己定義一個(gè)或者使用#include 添加這個(gè)庫(kù)。
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}; /* 定義一個(gè)結(jié)構(gòu)體 R */
bool userVar = false; /* 定義一個(gè)用于接收總線信號(hào)的變量 */
int main()
{
R.input = userVar;
if( R_Trig(&R)) {
/* 只執(zhí)行一遍的用戶代碼 */
}
return 0;
}
下降沿:
trig_t F = {
.input = true;
.laseInput = true;
}; /* 定義一個(gè)結(jié)構(gòu)體 R */
bool userVar = true; /* 定義一個(gè)用于接收總線信號(hào)的變量 */
int main()
{
F.input = userVar;
if( F_Trig(&F)) {
/* 只執(zhí)行一遍的用戶代碼 */
}
return 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
CAN總線
+關(guān)注
關(guān)注
145文章
2043瀏覽量
135213 -
C語(yǔ)言
+關(guān)注
關(guān)注
183文章
7644瀏覽量
145569 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2056瀏覽量
63397
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
D觸發(fā)器/J-K觸發(fā)器的功能測(cè)試及其應(yīng)用
D觸發(fā)器的功能測(cè)試74LS74型雙D觸發(fā)器芯片引腳圖,D觸發(fā)器功能測(cè)試的引腳連線圖,D觸發(fā)器
發(fā)表于 02-14 15:27
?0次下載
基本觸發(fā)器功能的描述
描述觸發(fā)器的邏輯功能,通常采用下面三種方法:1.狀態(tài)轉(zhuǎn)移真值表為了表明觸發(fā)器在輸入信號(hào)作用下,
發(fā)表于 08-13 09:21
?6748次閱讀
觸發(fā)器功能的模擬實(shí)現(xiàn)
1、掌握觸發(fā)器功能的測(cè)試方法。
2、掌握基本RS觸發(fā)器的組成及工作原理。
3、掌握集成JK觸發(fā)器和D觸發(fā)器的邏輯
發(fā)表于 07-10 14:39
?18次下載
基于CPLD的觸發(fā)器功能的模擬實(shí)現(xiàn)
實(shí)驗(yàn)內(nèi)容 將基本RS觸發(fā)器,同步RS觸發(fā)器,集成J-K觸發(fā)器,D觸發(fā)器同時(shí)集成一個(gè)CPLD芯片中模擬其功能,并研究其相互轉(zhuǎn)換的方法。 實(shí)驗(yàn)的
發(fā)表于 12-05 09:33
?13次下載
jk觸發(fā)器實(shí)現(xiàn)74ls194功能
JK觸發(fā)器是數(shù)字電路觸發(fā)器中的一種基本電路單元。本文以jk觸發(fā)器為中心,主要介紹了JK觸發(fā)器工作特性以及jk觸發(fā)器是如何
發(fā)表于 12-22 16:09
?2.6w次閱讀
觸發(fā)器的輸出是現(xiàn)態(tài)函數(shù)
觸發(fā)器的輸出是現(xiàn)態(tài)函數(shù) 觸發(fā)器是數(shù)字電路中的一種重要元件,它們通常被用于存儲(chǔ)和裝載二進(jìn)制數(shù)據(jù),也可以用于控制和同步各種數(shù)字電路。在許多數(shù)字電路應(yīng)用中,觸發(fā)器的輸出通常被用作輸入信號(hào)來(lái)
觸發(fā)器激勵(lì)函數(shù)和輸出函數(shù)解析
觸發(fā)器激勵(lì)函數(shù)和輸出函數(shù)解析? 觸發(fā)器是數(shù)字電路中的一種重要的組合邏輯電路,其可以達(dá)到存儲(chǔ)、延時(shí)、計(jì)數(shù)等功能。
rs觸發(fā)器的邏輯功能
RS觸發(fā)器是數(shù)字電路中最簡(jiǎn)單的一種觸發(fā)器,其由兩個(gè)互相反向的電平觸發(fā)器組成。RS觸發(fā)器的邏輯功能非常重要,它可以用于存儲(chǔ)1位二進(jìn)制數(shù)據(jù),并能
RS觸發(fā)器的實(shí)現(xiàn)原理 rs觸發(fā)器具有什么功能
RS觸發(fā)器是一種基本的數(shù)字邏輯電路,它由兩個(gè)互補(bǔ)的反饋連接組成。RS觸發(fā)器可以用作其他高級(jí)邏輯電路的構(gòu)建模塊,如計(jì)數(shù)器、移位寄存器和內(nèi)存單元等。本文將詳細(xì)介紹RS
如何用jk觸發(fā)器構(gòu)成t觸發(fā)器?t觸發(fā)器邏輯功能有哪些
的觸發(fā)器,其輸入信號(hào)作用于觸發(fā)器,觸發(fā)器將根據(jù)輸入信號(hào)進(jìn)行狀態(tài)切換。本文將詳細(xì)介紹如何使用JK觸發(fā)器構(gòu)成T觸發(fā)器,并介紹T
t觸發(fā)器與d觸發(fā)器的區(qū)別和聯(lián)系
)。 1. 觸發(fā)器的基本概念 觸發(fā)器是一種具有記憶功能的電路,它可以存儲(chǔ)一位二進(jìn)制信息。在數(shù)字電路中,觸發(fā)器通常由兩個(gè)穩(wěn)定的工作狀態(tài)組成,即0狀態(tài)和1狀態(tài)。
t觸發(fā)器變?yōu)閐觸發(fā)器的條件
是一種具有記憶功能的數(shù)字電路元件,可以存儲(chǔ)一位二進(jìn)制信息。它通常由邏輯門、觸發(fā)器存儲(chǔ)元件和反饋回路組成。觸發(fā)器的輸出狀態(tài)取決于輸入信號(hào)和當(dāng)前狀態(tài)。 1.2 觸發(fā)器的分類
基本rs觸發(fā)器有哪三種功能 基本rs觸發(fā)器的觸發(fā)方式是什么
變?yōu)楦唠娖健.?dāng)輸入信號(hào)R為高電平時(shí),觸發(fā)器的輸出Q將被置為高電平,無(wú)論輸入信號(hào)S的狀態(tài)如何。這種功能通常用于將觸發(fā)器的狀態(tài)設(shè)置為特定的初始狀態(tài)。 置位功能的
怎么用jk觸發(fā)器變成t觸發(fā)器
將JK觸發(fā)器變成T觸發(fā)器,主要涉及到對(duì)JK觸發(fā)器的輸入端口進(jìn)行適當(dāng)?shù)倪B接和配置,以實(shí)現(xiàn)T觸發(fā)器的邏輯功能
觸發(fā)器功能函數(shù)實(shí)現(xiàn)
評(píng)論