国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32開關(guān)輸入控制220V燈泡亮滅源代碼(附帶PROTEUSd電路圖)

這篇具有很好參考價(jià)值的文章主要介紹了STM32開關(guān)輸入控制220V燈泡亮滅源代碼(附帶PROTEUSd電路圖)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

STM32開關(guān)輸入控制220V燈泡亮滅源代碼(附帶PROTEUSd電路圖),stm32,嵌入式硬件,單片機(jī)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-668345.html

//main.c文件
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2023 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "gpio.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */

/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */

int main(void)
{
  HAL_Init();
 SystemClock_Config();
  MX_GPIO_Init();
  while (1)
  {
		if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==1)
		{
			HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,0);
			while(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==1);
			
		}
		else
		{
			HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,1);
			while(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==0);
			
		}
		
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Initializes the RCC Oscillators according to the specified parameters
  * in the RCC_OscInitTypeDef structure.
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }

  /** Initializes the CPU, AHB and APB buses clocks
  */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
  {
    Error_Handler();
  }
}

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  __disable_irq();
  while (1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}

#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
//gpio.c文件
/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file    gpio.c
  * @brief   This file provides code for the configuration
  *          of all used GPIO pins.
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2023 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* Includes ------------------------------------------------------------------*/
#include "gpio.h"

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/*----------------------------------------------------------------------------*/
/* Configure GPIO                                                             */
/*----------------------------------------------------------------------------*/
/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/** Configure pins
*/
void MX_GPIO_Init(void)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};
  __HAL_RCC_GPIOB_CLK_ENABLE();	
	
	//設(shè)置0號(hào)腳
	GPIO_InitStruct.Pin=GPIO_PIN_0;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	//設(shè)置一號(hào)腳
	GPIO_InitStruct.Pin=GPIO_PIN_1;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,0);

}

/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

到了這里,關(guān)于STM32開關(guān)輸入控制220V燈泡亮滅源代碼(附帶PROTEUSd電路圖)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 驅(qū)動(dòng)控制STM32LED燈的兩秒,亮滅
  • stm32按鍵控制LED燈亮滅(中斷法)

    stm32按鍵控制LED燈亮滅(中斷法)

    用按鍵控制STM32上的LED燈亮滅,可以采用輪詢法和中斷法。輪詢法需要不斷檢測按鍵的狀態(tài),消耗MCU;而中斷法只是在按下的那一刻觸發(fā)中斷,控制燈亮滅。輪詢法相對(duì)于更常規(guī),容易操作。因此我們這里講的用中斷法。關(guān)于中斷的概述,這里不作介紹,只講操作,分析代碼

    2024年02月07日
    瀏覽(22)
  • arm學(xué)習(xí)之stm32設(shè)備樹學(xué)習(xí)-中斷控制led燈亮滅+字符設(shè)備指令控制led燈亮滅

    中斷控制led燈亮滅 驅(qū)動(dòng)文件源碼 led-key.c 字符設(shè)備指令控制led燈亮滅 驅(qū)動(dòng)文件 led-cmd.c 應(yīng)用文件 led.c

    2024年02月14日
    瀏覽(26)
  • 十、stm32-ESP8266(串口透傳、MCU透傳、控制LED亮滅)

    十、stm32-ESP8266(串口透傳、MCU透傳、控制LED亮滅)

    見博客:stm32f103c8t6新建固件庫模板(可自取) 固件庫模板 MDK5開發(fā)環(huán)境 stm32參考手冊(cè) UART串口協(xié)議 stm32中斷概念 ESP8266模塊資料 利用固件庫模板點(diǎn)燈工程(下面第三行,手動(dòng)狗頭) CH340 USB→TTL模塊 ESP8266模塊 手機(jī)軟件 實(shí)驗(yàn)程序已經(jīng)發(fā)布到百度網(wǎng)盤,本文末有鏈接可以自取

    2023年04月19日
    瀏覽(25)
  • STM32通過串口發(fā)送指令控制LED燈亮滅OLED并顯示命令

    STM32通過串口發(fā)送指令控制LED燈亮滅OLED并顯示命令

    先來看看程序運(yùn)行的結(jié)果吧: 接下來就不說廢話了,自己看源代碼吧!每一行我都做了注釋: 首先是主函數(shù)main.c文件: 接下來是LED.h文件: 接下來是LED.c文件: 記下來是串口相關(guān)的Serial.h文件: 接下來就是最后一個(gè)serial.c文件了: 所有文件在工程中的目錄為: 工程編譯后下

    2024年04月16日
    瀏覽(25)
  • 【STM32】按鍵控制LED亮滅實(shí)驗(yàn)——GPIO、LED、KEY、SYS

    【STM32】按鍵控制LED亮滅實(shí)驗(yàn)——GPIO、LED、KEY、SYS

    無鎖存時(shí):當(dāng)按下獨(dú)立按鈕時(shí)LED亮,松開LED滅。 鎖存時(shí):當(dāng)按下獨(dú)立按鈕時(shí)LED亮,松開LED仍亮,再按下獨(dú)立按鈕時(shí)LED熄滅。 硬件部分 軟件部分 1、引入頭文件 2、主函數(shù) 首先時(shí)鐘、led、按鍵初始化 鎖存時(shí):當(dāng)按下獨(dú)立按鈕時(shí)LED亮,松開LED仍亮,再按下獨(dú)立按鈕時(shí)LED熄滅。常

    2024年02月08日
    瀏覽(34)
  • STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷)

    STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷)

    本專欄記錄STM32開發(fā)各個(gè)功能的詳細(xì)過程,方便自己后續(xù)查看,當(dāng)然也供正在入門STM32單片機(jī)的兄弟們參考; 本小節(jié)的目標(biāo)是,系統(tǒng)主頻64 MHZ,采用高速外部晶振,通過KEY1 按鍵的PA0 引腳配置成中斷輸入引腳,PB9引腳配置成輸出,每次按鍵,PA0 引腳就會(huì)進(jìn)入一次外部中斷,每進(jìn)

    2024年02月05日
    瀏覽(25)
  • 串口通信(stm32F4)——通過串口助手發(fā)送led on或者led off控制LED燈的亮滅

    串口通信(stm32F4)——通過串口助手發(fā)送led on或者led off控制LED燈的亮滅

    通過串口助手發(fā)送led on來點(diǎn)亮LED燈,發(fā)送led off來關(guān)閉LED燈(這里是LED1,其端口是GPIOF,引腳是PIN10,串口是USART1,其端口是GPIOA,引腳是PIN9、PIN10,一個(gè)用來收數(shù)據(jù),一個(gè)用來發(fā)收據(jù)) 初始化LED; 初始化串口; 編寫接收數(shù)據(jù)中斷函數(shù); 編寫空閑中斷函數(shù)。 2.1 初始化LED 2.2 初

    2024年02月16日
    瀏覽(21)
  • 220V轉(zhuǎn)5V芯片三腳芯片-AH8652

    220V轉(zhuǎn)5V芯片三腳芯片-AH8652

    220V轉(zhuǎn)5V芯片三腳芯片是一種非常常見的電源管理芯片,它通常被用于將高壓交流輸入轉(zhuǎn)為穩(wěn)定的直流5V輸出。芯片型號(hào)AH8652是一款支持交流40V-265V輸入范圍的芯片,采用了SOT23-3三腳封裝。該芯片內(nèi)部集成了650V高壓MOS管,能夠穩(wěn)定地將輸入電壓轉(zhuǎn)換為固定的5V輸出電壓。此外,

    2024年02月11日
    瀏覽(26)
  • stm32控制蜂鳴器源代碼(附帶proteus線路圖)

    stm32控制蜂鳴器源代碼(附帶proteus線路圖)

    2 蜂鳴器電阻值如果太大會(huì)導(dǎo)致電流太小,發(fā)不出聲音; 3蜂鳴器額定電壓需要設(shè)置得低一點(diǎn),可以是2V,但不能高于3V(后來發(fā)現(xiàn)設(shè)置為5V也是可以的,實(shí)際物理世界應(yīng)該是5V的額定電壓,我覺得就應(yīng)該使用5V來模擬,但是物理世界的人一定會(huì)考慮到電壓可能不足,所以會(huì)允許

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包