当前位置:网站首页>简单为美-编程思路
简单为美-编程思路
2022-07-28 00:00:00 【@一下大聪明】
系统时钟1ms++,理论可正常工作49天。
uint32_t getSysTick(void)
{
return jiffies;
}
void SysTick_Handler(void)
{
jiffies++;
}
GPIO的OUTPUT输出任务
void GPIO_driver_task(void)
{
static int GPIO_gap_time = 10;
static int GPIO_drv_start_time = 0;
static int GPIO_is_run = 0;
if (getSysTick()>GPIO_drv_start_time)
{
GPIO_drv_start_time = getSysTick();
GPIO_drv_start_time += led_gap_time;
GPIO_is_run = 1;
}
if(GPIO_is_run == 1)
{
GPIO_is_run = hal_GPIO_Driver();
}
}
GPIO的OUTPUT的状态函数
int hal_GPIO_Driver(void)
{
static int step = 0;
switch(step)
{
case enum1:{
GPIO_function1(); step = enum2; return 1;}
case enum2:{
GPIO_function2(); step = enum3; return 1;}
case enum3:{
GPIO_function3(); step = enum4; return 1;}
case enum4:{
GPIO_function4(); step = enum5; return 1;}
case enum5:{
GPIO_function5(); step = enum6; return 1;}
case enum6:{
GPIO_function6(); step = finish; return 1;}
default:{
step = enum1; return 0;}
}
}
GPIO_function1函数说明
unsigned short Led_Dark[] = {
0,1,LED_EFFECT_END};
unsigned short Led_Light[] = {
1,1,LED_EFFECT_END};
unsigned short Led_Light100ms[] = {
1,10,0,1,LED_EFFECT_END};
unsigned short Led_Blink1[] = {
1,1,0,99,LED_EFFECT_AGN,2};
unsigned short Led_Blink2[] = {
1,50,0,50,LED_EFFECT_AGN,2};
unsigned short Led_Blink3[] = {
1,20,0,50,1,50,0,10,1,10,0,20,1,10,0,20,LED_EFFECT_AGN,8};
unsigned short Led_Blink4[] = {
1,10,0,80,1,50,0,50,LED_EFFECT_AGN,4};
int GPIO_function1(void)
{
for(unsigned char i=0; i<LED_SUM; i++)
{
if(Ledx[i].Led_Timer)
{
Ledx[i].Led_Timer--;
}
if( !Ledx[i].Led_Timer )
{
if(*(Ledx[i].pLed_State+2) == LED_EFFECT_END){
}
else
{
if((*(Ledx[i].pLed_State+=2)) == LED_EFFECT_AGN)
{
Ledx[i].pLed_State = Ledx[i].pLed_State - (*(Ledx[i].pLed_State+1) * 2);
}
Ledx[i].Led_Timer = *(Ledx[i].pLed_State+1);
}
hal_LedDrive[i](*Ledx[i].pLed_State);
}
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
实现OCR语言识别Demo(二)- 图片及识别内容的展现和交互
"Do you" want to be a test / development programmer? We strive to sprout
Graph theory analysis of white matter brain function network: neural markers for classification and prediction of depression
“你“想当测试/开发程序员吗?努力发芽的我们......
牛客多校第三场A,C+权值线段树
Lambda表达式和Stream流
企业运维实践-使用Aliyun容器镜像服务对海外gcr、quay仓库镜像进行镜像拉取构建
抓包精灵NetCapture APP抓包教程《齐全》
Niuke multi School Game 3 A, c+ weight segment tree
GBase 8c 快照同步函数
PHP利用某些函数bypass waf探讨
新安装的pip3,使用出现No module named ‘lsb_release‘的问题
LeetCode第 83 场双周赛
How tormenting are weekly and monthly reports? Universal report template recommended collection! (template attached)
Load balancing SLB
IIC read / write eefprom
Qlib教程——基于源码(二)本地数据保存与加载
26. Abstraction and template ideas
Tencent cloud hiflow scene connector
EEG多元模式分析预测慈善捐赠行为









