Web前端最全stm32工程和算法分享(11)--74HC595驱动数码管之按键加减显示(1),2024年最新40道前端面试

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

}

void HC595_WriteData(uint8_t data)

{

HAL_GPIO_WritePin(RCK_GPIO_Port,RCK_Pin,GPIO_PIN_RESET);

for(uint8_t i=0;i<8;i++)

{

HAL_GPIO_WritePin(SCK_GPIO_Port,SCK_Pin,GPIO_PIN_RESET);

if(data&0x80)

{

HAL_GPIO_WritePin(DS_GPIO_Port,DS_Pin,GPIO_PIN_SET);

}

else

{

HAL_GPIO_WritePin(DS_GPIO_Port,DS_Pin,GPIO_PIN_RESET);

}

HAL_GPIO_WritePin(SCK_GPIO_Port,SCK_Pin,GPIO_PIN_SET);

data=data<<1;

}

HAL_GPIO_WritePin(RCK_GPIO_Port,RCK_Pin,GPIO_PIN_SET);

}

void KEY_Up_Task(void)

{

static uint32_t count=0;

static uint8_t step=0;

switch(step)

{

case 0:

{

if(HAL_GPIO_ReadPin(KEY_UP_GPIO_Port,KEY_UP_Pin)==GPIO_PIN_RESET)

{

count++;

if(count>=10000)

{

count=0;

step=1;

}

}

else

{

count=0;

}

}

break;

case 1:

{

if(HAL_GPIO_ReadPin(KEY_UP_GPIO_Port,KEY_UP_Pin)==GPIO_PIN_SET)

{

if(index<9)

{

index++;

}

else

{

index=9;

}

step=0;

}

}

break;

}

}

void KEY_Down_Task(void)

{

static uint32_t count=0;

static uint8_t step=0;

switch(step)

{

case 0:

{

if(HAL_GPIO_ReadPin(KEY_DOWN_GPIO_Port,KEY_DOWN_Pin)==GPIO_PIN_RESET)

{

count++;

if(count>=10000)

{

count=0;

step=1;

}

}

else

{

count=0;

}

}

break;

case 1:

{

if(HAL_GPIO_ReadPin(KEY_DOWN_GPIO_Port,KEY_DOWN_Pin)==GPIO_PIN_SET)

{

if(index>0)

{

index–;

}

else

{

index=0;

}

step=0;

}

}

break;

}

}

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值