一:STM32F030控制蜂鸣器定时响
(1)main.c中:
u16 StartTime=0;
void main()
{
StartTime=500;//蜂鸣器响的时长
SPEEK(1);
}
void SPEEK(u8 num)
{
TIM_Cmd(TIM2, ENABLE); //开启时钟
}
(2)hardware_conf.h中:
#define Speak(tmp) GPIOB->ODR=tmp?(GPIOB->ODR|1<<8):(GPIOB->ODR&(~(1<<8)))
(3)stm32f10x_it.c中:
extern void SPEEK(u8 num);
void SysTick_Handler(void)
{
if(StartTime>0)
{
StartTime--;
if(StartTime==0)
{
Speak(1);
TIM_Cmd(TIM2, DISABLE); //ژҕ
}
}
}
二:STM32F030控制LED亮
(1)main.c中:
void Leddisp(u8 tempvalue,u8 state)
{
u8 sendnumber;
if(displaying==0)
{
displaying=1;
switch(tempvalue)
{
case HEAT_TEMP60: LED_Buff[2]=state?0xDF:0x1f;break;
case HEAT_TEMP70: LED_Buff[3]=state?0xDF:0x1f;break;
case HEAT_TEMP80: LED_Buff[0]=state?0xDF:0x1f;break;
case HEAT_TEMP90: LED_Buff[5]=state?0xDF:0x1f;break;
case HEAT_TEMP100: LED_Buff[4]=state?0xDF:0x1f;break;
case WARM_KEY: LED_Buff[1]=state?0xDF:0x1f;break;
case WIFI_KEY: LED_Buff[6]=state?0xDF:0x1f;break;
case All_LIGHT_ON: memset(LED_Buff,0xDF,8);break;
case ALL_LIGHT_OFF: memset(LED_Buff,0x1f,8);break;
case SIX_LIGHT_ON: memset(LED_Buff,0xDF,6);break;
case SIX_LIGHT_OFF: memset(LED_Buff,0x1F,6);break;
default: break;
}
EXTI->IMR &= ~EXTI_Line0;
EXTI->EMR &= ~EXTI_Line0;
delay(20);//需要改小 2016-3-10
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==1);
sendnumber=20;
while(I2C1_Write_NBytes(IQS333_ADDR, PWM_DUTY, 8, &LED_Buff[0])!=0)
{
I2C_StopModeCmd(I2C1,ENABLE);
//I2C_GenerateSTOP(I2C1,ENABLE);
sendnumber--;
if(sendnumber==0)
break;
}
EXTI->IMR |= EXTI_Line0;
EXTI->EMR |= EXTI_Line0;
displaying=0;
}
else
{
sendnumber=0;
}
}
void delay(u16 num)
{
u16 i,j;
for(i=0;i } void main() { Leddisp(HEAT_TEMP100,1);//按钮HEAT_TEMP100灯亮 delay(600); Leddisp(HEAT_TEMP100,0);//灭 } u8 LED_Buff[8]={ 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,}; (2)hardware_conf.h中: #define WARM_KEY 1 #define WIFI_KEY 2 #define All_LIGHT_ON 3 #define ALL_LIGHT_OFF 4 #define SIX_LIGHT_ON 5 #define SIX_LIGHT_OFF 6 #define HEAT_TEMP60 60 #define HEAT_TEMP70 70 #define HEAT_TEMP80 80 #define HEAT_TEMP90 90 #define HEAT_TEMP100 100
上一篇:STM32中I2C总线上数据的读、写。
下一篇:STM32F103VET6——ADC功能框图
推荐阅读最新更新时间:2024-11-07 21:49
设计资源 培训 开发板 精华推荐
- LTM9009-14 演示板,14 位,80Msps,1.8V 八路串行 ADC,DC <艾因< 70MHz
- 用于白光 LED 驱动器的 TB62737FPG 升压型 DC-DC 转换器的典型应用
- arduino-nano 官方 完整版
- 多种传感器拓展板
- R1206N071B PWM 升压 DC/DC 转换器白光 LED 的典型应用
- AD780 的典型应用电路,-2.5 V 高负载电流基准
- LTC1092 的典型应用 - 1、2、6 和 8 通道、10 位串行 I/O 数据采集系统
- ADL5534、14 位、150 MSPS、2CH ADC,用于软件定义无线电
- YuzukiCore Pico RP2040 核心板
- AM2F-2405SH30Z 5V 2 瓦 DC-DC 转换器的典型应用