stm32第六天繼電器

一:繼電器

1.繼電器的工作原理
繼電器是一個電控開關,工作原理基于電磁感應,繼電器包括一個電磁線圈和一組觸點。常用于控制高電流或高電壓的電路,例如自動控制原理,電力系統和自動化設備中,由于可靠性和電氣隔離的特性可以實現小電流實現大電流,通過小電流控制線圈產生磁場驅動觸點動作,實現對大電流/高電壓電路的通斷控制。繼電器在各種應用中都有廣泛的用途。

?2.繼電器的引腳說明
1.VCC(+):供電正極,連接此引腳到電源,以提供繼電器所需的電流(判斷是3.3v還是5v)
2.GND():地,連接此引腳到電源的負極或者地。
3.IN:控制輸入信號,通常用于連接控制信號,當該信號變化,繼電器切換狀態。(判斷是低電平導通還是高電平導通)
4.COM (common):公共端,通常是中間的觸點,與常開或常閉觸點相連。
5.NO(Normally Open):常開接口,繼電器吸合前懸空,吸合后于COM連接。
6.NC(Normally Closed):常閉接口,繼電器吸合前與COM連接,吸合后懸空。

3:單片機控制繼電器軟件開發流程
· 初始化系統
。 初始化繼電器IN引腳對應的GPIO外設時鐘
。初始化繼電器IN的引腳
·輸出電平控制繼電器開和關

1:relay.c工程

#include "relay.h"#include "stm32f10x.h"void Relay_Init(void)//繼電器的初始化函數
{//有兩個步驟:1:初始化繼電器外設 2:初始化繼電器時鐘GPIO_InitTypeDef Relay_Initstruct;//初始化繼電器結構體RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//打開APB2總線下GPIOA的時鐘Relay_Initstruct.GPIO_Pin=GPIO_Pin_0;//配置A0引腳Relay_Initstruct.GPIO_Speed=GPIO_Speed_10MHz;//配置A0引腳傳輸速度為10MHZRelay_Initstruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置A0引腳輸出模式為推挽輸出GPIO_Init(GPIOA, &Relay_Initstruct);//初始化GPIOA0的結構體}

2:relay.h工程

void Relay_Init(void);//聲明函數

3:main.c工程

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"
#include "key.h"
#include "relay.h"void delay(uint16_t time)//延時1ms  軟件延時粗延時
{uint16_t i=0;while(time --){i=12000;while(i --);}}int  main()
{LED_Init();Bear_Init();//初始化蜂鳴器的引腳GPIO A3Key_Init();//初始化按鍵的時鐘和引腳配置GPIO_SetBits(GPIOA, GPIO_Pin_1); //初始化燈為滅Relay_Init();//初始化繼電器的時鐘和引腳配置GPIO_SetBits(GPIOA, GPIO_Pin_0);//初始化GPIOA為高電平為綠燈滅while(1){GPIO_ResetBits(GPIOA, GPIO_Pin_0);//A0輸出低電平綠燈亮delay(1000);//延時1秒鐘GPIO_SetBits(GPIOA, GPIO_Pin_0);//A0輸出高電平綠燈滅delay(1000);//延時1秒鐘}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73782.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73782.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73782.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue渲染函數 - render 函數

文章目錄 Vue渲染函數 - render 函數1. 什么是 render 函數2、頁面展示過程3、render 函數的參數4. 如何使用(1)基本渲染(2)傳遞屬性和事件(3)條件渲染 5. render 函數的實際使用6.View Design 組件中的使用…

單片機自學總結

自從工作以來,一直努力耕耘單片機,至今,頗有收獲。從51單片機,PIC單片機,直到STM32,以及RTOS和Linux,幾乎天天在搞:51單片機,STM8S207單片機,PY32F003單片機,…

go回調函數的使用

在Go語言中,回調函數可以有參數,也可以沒有參數。它們的定義和使用方式略有不同,但本質上都是將函數作為參數傳遞給另一個函數,并在適當的時候調用它。以下是帶參數和不帶參數的回調函數的示例和說明。 1. 不帶參數的回調函數 不…

在 Ubuntu 中配置 NFS 共享服務的完整指南

前言 網絡文件系統(NFS)作為 Linux 系統間實現文件共享的標準協議,在分布式計算和容器化部署場景中具有重要作用。本文將詳細演示如何在 Ubuntu 系統上配置 NFS 服務端與客戶端,并實現可靠的持久化掛載。 一、環境準備 系統要求…

TypeScript Symbols 深度解析:在 Vue3 中的高級應用實踐

一、Symbols 核心特性解析 1.1 什么是 Symbol? Symbol 是 ES6 引入的原始數據類型,表示唯一且不可變的值,主要解決對象屬性名沖突問題。在 TypeScript 中,我們通過 symbol 類型獲得完整的類型支持: const SERIAL_KE…

無需刷機、root,暢享原生安卓的絲滑體驗。

Apex Launcher 是一款歷史悠久的 Android 桌面啟動器,誕生于 Android 系統早期(Android 4.0 時代)。當時,Android 系統的默認界面被認為較為簡陋,無法滿足一些追求個性化和高效操作的用戶需求。因此,許多開…

Visual Studio Code安裝配置優化全攻略:打造高效開發環境

目錄 一、背景與意義 二、安裝與配置基礎 2.1 下載與安裝 2.2 核心配置目錄 三、深度優化配置指南 3.1 主題與界面優化 3.2 必裝效率插件(精選TOP10) 3.3 性能優化設置 四、實戰案例:前端開發環境配置 4.1 項目初始化 4.2 調試配置…

味覺傳送器E-Taste:開啟虛擬世界的味覺之門

味覺傳送器E-Taste:開啟虛擬世界的味覺之門 一、發明背景與動機 隨著虛擬現實(VR)和增強現實(AR)技術的飛速發展,人們在虛擬世界中的沉浸感不斷提升,視覺和聽覺體驗已經取得了顯著的突破。然而…

判斷質數與合數

判斷質數與合數的邏輯很相似,都是判斷一個屬除了1和它本身,能不能被其他數整除。 其他數包括質數與合數,合數能表示能質數的乘積,因此問題就轉化為:一個數能不能被除了1和它本身之外的其他質數整除。 質數2&#xff…

在Spring Boot項目中接入DeepSeek深度求索,感覺笨笨的呢

文章目錄 引言1. 什么是DeepSeek?2. 準備工作2.1 注冊DeepSeek賬號 3.實戰演示3.1 application增加DS配置3.2 編寫service3.3 編寫controller3.4 編寫前端界面chat.html3.5 測試 總結 引言 在當今快速發展的數據驅動時代,企業越來越重視數據的價值。為了…

Cursor在內網環境配置自定義DeepSeek API

關鍵字 Cursor、DeepSeek、API配置、內網代理、HTTP/2 背景環境 使用Cursor集成環境開發程序。但是我使用公司的內網并不能使用cursor自帶的模型,于是我就想使用DeepSeek官方的API服務。 環境:Windows 11系統 解決過程 網絡檢測 首先進行環境檢測&am…

RabbitMQ 集群降配

這里寫自定義目錄標題 摘要檢查狀態1. 檢查 RabbitMQ 服務狀態2. 檢查 RabbitMQ 端口監聽3. 檢查 RabbitMQ 管理插件是否啟用4. 檢查開機自啟狀態5. 確認集群高可用性6. 檢查使用該集群的服務是否做了斷開重連 實操1. 負載均衡配置2. 逐個節點降配(滾動操作&#xf…

設計模式之外觀模式:原理、實現與應用

引言 外觀模式(Facade Pattern)是一種結構型設計模式,它通過提供一個統一的接口來簡化復雜系統的使用。外觀模式隱藏了系統的復雜性,使得客戶端可以通過一個簡單的接口與系統交互。本文將深入探討外觀模式的原理、實現方式以及實…

進行交通流預測,使用KAN+Transformer模型

理論基礎 KAN(Knowledge Augmented Network) KAN 是一種知識增強網絡,其核心思想是將先驗知識融入到神經網絡中,以此提升模型的性能與泛化能力。在交通流預測領域,先驗知識可以是交通規則、歷史交通模式等。通過把這…

TF中 Arg 節點

TF中 Arg 節點 在 TensorFlow 的計算圖中,_Arg 節點(Argument Node)表示函數的輸入參數,是計算圖中負責接收外部輸入數據的節點。它的名字來源于“Argument”(參數),直接對應函數調用時傳入的張…

Educational Codeforces Round 176 (Rated for Div. 2)

A.To Zero 簽到題 void solve() { int n,k;cin>>n>>k;int k2k/2*2;int k1(k2<k)?k:k-1;int cnt0;if(n%21){n-k1;cnt;cnt(n/k2)(n%k2!0);}else {cnt(n/k2)(n%k2!0);}cout<<cnt<<endl;}B.Array Recoloring 手推一下可以發現&#xff0c;答案其實就…

Kubernetes的Service詳解

一、Service介紹 在 kubernetes 中&#xff0c; pod 是應用程序的載體&#xff0c;我們可以通過 pod 的 ip 來訪問應用程序&#xff0c;但是 pod 的 ip 地址不是固定的&#xff0c;這也就意味著不方便直接采用pod 的 ip 對服務進行訪問。 為了解決這個問題&#xff0c;kuberne…

基于Nvidia Jetson Nano邊緣計算設備使用TensorRT部署YOLOv8模型實現目標檢測推理

0、背景 最近拿到一臺邊緣計算設備&#xff0c;在部署YOLO模型的過程中遇到一些問題&#xff0c;特此記錄。 設備介紹信息&#xff1a;NVIDIA Jetson Orin Nano T201Developer Kit 開發套件 開發者套件&#xff1a;Jetson Orin Nano T201 8GB開發套件 使用指南文檔&#x…

讓人感到疑惑的const

const 關鍵字在不同的編程語言中有著不同的含義和限制&#xff0c;但通常它被用來聲明一個常量或只讀變量。然而&#xff0c;在 JavaScript 中&#xff0c;const 的行為有時可能會讓人感到困惑&#xff0c;因為它并不總是意味著“不可變”&#xff08;immutable&#xff09;。讓…

Python 列表全面解析

關于Python列表的詳細教程&#xff0c;涵蓋增刪改查、切片、列表推導式及核心方法 一、 列表基礎 1.1 創建列表 列表是Python中最常用的數據結構之一&#xff0c;支持動態存儲多種類型的元素。 # 空列表 empty_list []# 初始化列表 numbers [1, 2, 3, 4] fruits ["a…