设为首页
收藏本站
找回密码
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
STM32/8
›
基于STM32F103VE实现呼吸灯源程序
返回列表
发新帖
基于STM32F103VE实现呼吸灯源程序
[复制链接]
0
|
0
|
2020-6-10 17:14:36
|
显示全部楼层
|
阅读模式
完整源码:
stm32_test_20200417_呼吸灯.7z
(176.35 KB, 售价: 1 工控币)
2020-6-10 17:14 上传
点击文件名下载附件
部分源码:
int main(void)
{
led_init(); // LED初始化函数
nvic_init(); // NVIC配置函数
exti_init(); // EXTI配置函数
usart_init(); // USART配置函数
tim_init(); // TIM配置函数
usart1_sendstring("This is a testing\n");
usart1_sendstring("Hello STM32\n");
/* Infinite loop */
while (1)
{
}
}
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
it.c:
// EXTI0中断服务函数
void EXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0) != RESET) // 确保相应中断发生了
{
EXTI_ClearITPendingBit(EXTI_Line0); // 清除EXTI0中断标志位
if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5) == 0) // 判断LED引脚电平是否为0
{
GPIO_SetBits(GPIOB, GPIO_Pin_5); // LED OFF
}
else // GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5) == 1
{
GPIO_ResetBits(GPIOB, GPIO_Pin_5); // LED ON
}
}
}
uint8_t rx_buffer_flag = 0;
uint8_t rx_buffer[5] = {0};
uint8_t rx_buffer_cnt = 0;
void USART1_IRQHandler(void)
{
uint8_t rcv_data = 0;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) // 确保相应的中断发生
{
USART_ClearITPendingBit(USART1, USART_IT_RXNE); // 清除USART1接收中断位
rcv_data = USART_ReceiveData(USART1); // 接收数据
// usart1_sendbyte(rcv_data); // 发送数据
if(rcv_data == 0xAA)
{
rx_buffer_flag = 1;
}
if(rx_buffer_flag == 1)
{
rx_buffer[rx_buffer_cnt] = rcv_data;
rx_buffer_cnt++;
}
if(rx_buffer_cnt >= 4)
{
rx_buffer_flag = 0;
rx_buffer[4] = '\0';
usart1_sendstring((char *)(rx_buffer + 1));
rx_buffer_cnt = 0;
}
}
}
// TIM6中断服务函数
void TIM6_IRQHandler(void)
{
if(TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM6, TIM_IT_Update);
// if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5) == 0) // 判断LED引脚电平是否为0
// {
// GPIO_SetBits(GPIOB, GPIO_Pin_5); // LED OFF
// }
// else // GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5) == 1
// {
// GPIO_ResetBits(GPIOB, GPIO_Pin_5); // LED ON
// }
}
}
// TIM3中断服务函数
uint8_t cnt1 = 0;
uint8_t cnt2 = 0;
uint8_t cnt_flag = 0;
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
cnt1++;
if(cnt1 >= 100)
{
cnt1 = 0;
TIM3->CCR3 = cnt2;
if(cnt_flag == 0)
{
cnt2++;
}
else
{
cnt2--;
}
if(cnt2 >= 100)
{
cnt_flag = 1;
}
else if(cnt2 == 0)
{
cnt_flag = 0;
}
}
}
}
复制代码
呼吸灯
,
led
,
stm32
相关帖子
•
数控电源 STC12单片机+TL494 LED驱动源程序与原理图PCB文件
•
STM32F407+OOP+FSM设计思想
•
STM32做平衡小车全套sch原理图pcb电路图文件 C程序代码 BOM表
•
STM32实现U盘功能 USB_Mass_Storage源码
•
STM32串口的LIN从模式代码
•
基于stm32和soem的EtherCAT主站代码
•
数字电路拔河机Multisim仿真设计
•
labview做的LED流动滚动显示
•
STM32+LabVIEW的USB数据采集与显示源程序
•
STM32示波器程序ILI9341_IO模拟源程序+Proteus仿真
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
路漫漫
194
主题
199
帖子
74
积分
初级会员
初级会员, 积分 74, 距离下一级还需 426 积分
初级会员, 积分 74, 距离下一级还需 426 积分
工控币
74
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
电源
图文推荐
LabVIEW数据采集编程指南 上中下篇.pdf
昨天 13:04
350W开关电源原理图及PCB图 元件参数封装图 完整资料可量产
2021-04-04
STM32做平衡小车全套sch原理图pcb电路图文件 C程序代码 BOM表
2021-04-01
三菱FX系列PLC与变频器MODBUS ASCII通信示例程序和文档
2021-03-31
三菱FX2N PLC与三菱变频器ModbusRTU协议通讯应用教程和示例程序
2021-03-31
热门排行
1
数控电源 STC12单片机+TL494 LED驱动源程序
2
STC12C5A60S2单片机+控制步进电机和舵机实
3
51单片机+MAX6675上位机控制温度报警程序C
4
51单片机控制电机数码管显示转动圈数 c语言
5
JLX12864G-290-PC-S液晶屏的51单片机源程序
6
基于51单片机的数码管30秒倒计时proteus仿
7
LabVIEW数据采集编程指南 上中下篇.pdf
8
6c19串联型稳压电源支持带抽头变压器和不带
9
反激式氮化稼PD65W设计原理图分享 pdf格式
10
反激式电源设计解迷 pdf