2024年Web前端最全stm32工程和算法分享(9)--花样流水灯(双灯),2024年最新view的绘制流程面试

算法

  1. 冒泡排序

  2. 选择排序

  3. 快速排序

  4. 二叉树查找: 最大值、最小值、固定值

  5. 二叉树遍历

  6. 二叉树的最大深度

  7. 给予链表中的任一节点,把它删除掉

  8. 链表倒叙

  9. 如何判断一个单链表有环

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

}

}

break;

case 1:

{

count++;

if(count>=50000)

{

count=0;

HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET); //亮LED1

HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_RESET); //亮LED2

step=0;

}

}

break;

}

}

break;

case 1:

{

switch(step)

{

case 0:

{

count++;

if(count>=150000)

{

count=0;

HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET); //灭LED1

HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_SET); //灭LED2

step=1;

}

}

break;

case 1:

{

count++;

if(count>=150000)

{

count=0;

HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET); //亮LED1

HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_RESET); //亮LED2

step=0;

}

}

break;

}

}

break;

case 2:

{

switch(step)

{

case 0:

{

count++;

if(count>=450000)

{

count=0;

HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET); //灭LED1

HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_SET); //灭LED2

step=1;

}

}

break;

case 1:

{

count++;

if(count>=450000)

{

count=0;

HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET); //亮LED1

HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_RESET); //亮LED2

step=0;

}

}

break;

}

}

break;

}

}

void TIMER_Task(void)

{

static uint32_t count=0;

switch(style)

{

case 0:

{

count++;

if(count>=4050000)

{

count=0;

style=1;

}

}

break;

case 1:

{

count++;

if(count>=4050000)

{

count=0;

style=2;

}

}

break;

case 2:

{

count++;

if(count>=4050000)

{

count=0;

style=0;

总结

我在成长过程中也是一路摸爬滚打,没有任何人的指点,所以走的很艰难。例如在大三的时候,如果有个学长可以阶段性的指点一二,如果有已经工作的师兄可以告诉我工作上需要什么,我应该前面的三年可以缩短一半;后来去面试bat,失败了有5、6次,每次也不知道具体是什么原因,都是靠面试回忆去猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。

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

image
image

猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。

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

[外链图片转存中…(img-I9MFRoHZ-1715375434620)]
[外链图片转存中…(img-BC2skd6q-1715375434621)]

  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 Verilog 的双灯左移右移与闪烁的8位流水灯程序: ``` module double_light_shift_and_blink(clk, rst, led); input clk, rst; output reg [7:0] led; reg [2:0] state; always @(posedge clk) begin if (rst) begin state <= 3'b000; led <= 8'b00000001; end else begin case(state) 3'b000: begin led <= led << 1; state <= 3'b001; end 3'b001: begin led <= led << 1; state <= 3'b010; end 3'b010: begin led <= led >> 1; state <= 3'b011; end 3'b011: begin led <= led >> 1; state <= 3'b100; end 3'b100: begin led <= 8'b11111110; state <= 3'b101; end 3'b101: begin led <= 8'b00000001; state <= 3'b000; end endcase end end endmodule ``` 这个程序使用了一个三位状态机来控制流水灯的行为。当复位信号 `rst` 为高电平时,状态机被重置,并且第一盏灯点亮。当时钟信号 `clk` 上升沿到来时,状态机进入下一个状态,从而决定下一步要执行的操作。状态机的状态转移图如下所示: ``` +-----+------------------------+-------+ | S | 当前状态 | 下一步| +-----+------------------------+-------+ | 000 | 双灯左移 | 001 | +-----+------------------------+-------+ | 001 | 双灯左移 | 010 | +-----+------------------------+-------+ | 010 | 双灯右移 | 011 | +-----+------------------------+-------+ | 011 | 双灯右移 | 100 | +-----+------------------------+-------+ | 100 | 闪烁,第一盏灯关闭 | 101 | +-----+------------------------+-------+ | 101 | 闪烁,第二盏灯关闭 | 000 | +-----+------------------------+-------+ ``` 在状态机的每个状态中,程序执行相应的操作,例如双灯左移、双灯右移或闪烁。当状态机到达 100 状态时,第一盏灯关闭,第二盏灯点亮;当状态机到达 101 状态时,第二盏灯关闭,第一盏灯重新点亮。然后,状态机返回到状态 000,重新开始双灯左移的过程。 这个程序可以在 FPGA 上实现,并且可以通过修改状态转移图和操作来实现其他类型的流水灯效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值