stm32F103R6单片机控制220V高电压灯泡电路工作(附带proteus电路图)

cpp 复制代码
#include "main.h"
#include "gpio.h"
void SystemClock_Config(void);
void sleep(int a)
{
	int i=0,j=0;
	for(i=0;i<a;i++)
	{
		for(j=0;j<2000;j++);
	}
	
}
int main(void)
{
	int i=0;
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  while (1)
  {
		GPIOB->ODR=0Xffff;
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,0);
		HAL_Delay(2000);
  }
}
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
  {
    Error_Handler();
  }
}
void Error_Handler(void)
{
  __disable_irq();
  while (1)
  {
  }
}

#ifdef  USE_FULL_ASSERT
void assert_failed(uint8_t *file, uint32_t line)
{

}
#endif /* USE_FULL_ASSERT */
相关推荐
scgg22 分钟前
STM32抢占优先级不生效
stm32·疑问
可乐鸡翅好好吃1 小时前
STM32的中断(什么是外部中断和其他中断以及中断号是什么)
c语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
嵌入式大圣3 小时前
单片机在电路板中的应用
单片机·嵌入式硬件
小A1595 小时前
STM32完全学习——使用标准库完成PWM输出
stm32·单片机·学习
小A1596 小时前
STM32完全学习——使用标准库完成定时器中断
stm32·单片机·学习
美式小田6 小时前
单片机学习笔记 10. 中断系统(理论)
笔记·单片机·嵌入式硬件·学习
我不是码农 嘤嘤嘤6 小时前
单片机GPIO的8种工作模式
单片机·嵌入式硬件
相醉为友7 小时前
006 单片机嵌入式中的C语言与代码风格规范——常识
c语言·单片机·嵌入式硬件
xiaobuding_QAQ8 小时前
基于STM32的智能鱼缸控制系统的Proteus仿真
stm32·嵌入式硬件·proteus·智能鱼缸
好想有猫猫9 小时前
【STM32】GPIO(超详细)
驱动开发·stm32·单片机·嵌入式硬件·51单片机