常用的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性能相关的书籍,以及设计者模式,在实践中都会用的到。