- 博客(19)
- 收藏
- 关注
原创 FreeRTOS之按键控制LED
7.1 一种是定义三个任务,一个默认任务,一个led任务,一个key任务,两个消息队列,最后在默认任务里做处理,代码如下。2.system core选项卡中点击sys,根据自己的实际硬件环境配置调试接口、时基时钟源。其实基本代码差不多,只是在led任务里,直接接收到数据,然后进行led翻转就行了。7.2 一种是一个led任务,一个key任务,一个消息队列,代码如下。1.RCC选项卡中,根据自己开发板的实际情况配置时钟。3.根据自己实际情况配置时钟时钟树。7.编写代码,可以用两种写法。
2025-03-31 00:30:40
239
原创 AD四层声源跟踪小车(一)
前面讲了PCB零基础设计之GD32F103最小系统板,这是一个最基础入门的两层电路板,接着要做一些更复杂和更具体的四层电路板,四层电路板虽然只增加了两层,但是设计思路却有极大的提升,需求是更具体的,就需要引入更多的知识点,所有先讲解一些相比于一开始项目增加的相关的基础知识。
2024-10-11 22:58:42
1217
原创 PCB零基础设计之GD32F103最小系统板(五)
上一章讲述了怎么进行电路板焊接和焊接中遇到的一些问题以及焊接过程中需要注意的事情,这章讲一下怎么进行写代码对板子进行简单的测试,看看电路板是否可以正常的工作运行。
2024-10-10 16:18:18
819
原创 PCB零基础设计之GD32F103最小系统板(四)
前面介绍了PCB的基础知识,设计流程,设计原理,打板流程,打板工艺,PCB布局,PCB layout等进行了讲解和记录,这节对焊接进行记录和讲解。
2024-10-09 21:33:31
830
原创 PCB零基础设计之GD32F103最小系统板(三)
复杂的地方开始(一般是mcu开始),还有一些相关的走线的注意事项,如走线不准许有锐角线的存在,不走直角线(个人觉得少量的直角线还是可以走的,因为一般会进行泪滴处理,个人目前觉得这样可以去除直角线的影响)。在进行完布局布线以后就到了PCBlayout的最后一步了,铺铜,这里也没什么讲的,就是底层和顶层都进行铺铜,但是注意的是,有些元器件需要禁止铺铜,如这里设计的晶振,需要按照包地的范围将晶振进行禁止铺铜,在进行铺铜前,需要进行泪滴处理,做泪滴处理是为了防止拐角和连接点等在侵蚀下产生大量的问题。
2024-09-10 16:26:32
989
1
原创 PCB零基础设计之GD32F103最小系统板(二)
JTAG下载是需要依靠烧录器的,标准的JTAG接口是4线的,包括JTMS, JTCK, JTDI, JTDO,它们的功能分别是模式选择,时钟输入,数据输入和数据输出,烧录器上的引脚对应连接到STM32F103C8T6的I/O口分别为PA13,PA14,PA15,PB3,加上接VCC和GND,所以JTAG接口最少需要6个引脚。为什么这些模块是必要的?电容为滤波电容,可以将电容简单的想成是水池,先灌水再让水流出,电容为中间容器,让电流变得更平缓,滤除了一些变化巨大的杂波,同时滤波电容先过大电容,再过小电容。
2024-09-10 15:13:52
2573
原创 PCB零基础设计之GD32F103最小系统板(一)
PCB( Printed Circuit Board),中文即印制电路板,或印刷线路板。它是电子产品中的重要部件,元器件的支撑体,更是实现诸多电子元器件电气连接的载体。像纸张印刷一样,PCB板也是印刷出来的,不过它采用的技术叫电子印刷术,所以我们称之为“印刷”电路板。
2024-09-06 14:13:28
1415
原创 小梅哥ZYNQ FPGA之三八译码器
以 3-8 译码器为例,即将 3 种输入状态翻译成 8 种输出状态,其真值表如下表所示,其中 A,B,C 为数据输入,Out 为数据输出。在 MCU 应用中,如果需要保证一定的速度情况下实现此功能,一般选取外挂一片 74HC38 或者 74LS38 等独立芯片,但 FPGA 提供了一个完整的想象以及实现空间,仅靠其自身即可实现设计要求。通过整体的代码逻辑上板测试的输出来看,上板测试的结果符合设计的逻辑。通过整体的代码逻辑和仿真输出来看,仿真波形符合设计的逻辑。
2024-08-11 17:05:41
1571
原创 小梅哥ZYNQ FPGA之二选一多路器
根据二选一多路器的原理来设计,输入端口有三个,分别是in_a、in_b、sel,输出端口有一个,为out。我们的设计是sel输入0时,输出为in_a,sel输入1时,输出为in_b。很简单,二选一多路器就是,两个输入数据,我们定义为in_a、in_b,一个选择数据sel,如sel输入0时,输出为in_a,sel输入1时,输出为in_b。通过整体的代码逻辑上板测试的输出来看,上板测试的结果符合设计的逻辑。通过整体的代码逻辑和仿真输出来看,仿真波形符合设计的逻辑。
2024-08-10 23:38:37
771
1
原创 GK7205V200学习记录(二)之boa的搭建以及移植
BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。
2024-06-04 19:25:23
740
6
原创 GK7205V200学习记录(一)
注:本人对于linux相关的知识属于小白,之前学习过Linux应用层的简单知识并做过一个简易的聊天室,其实就是相当于一个简易demo,然后买了一个韦东山的imx6ull_pro开发板只学习到了第四篇的一半,基本就是只点亮了板子,准备好了各种学习需要的工具,进行了一些简单的编译,所以在下面的操作过程中可能会写出一些自己的想法和疑问,对于一些大佬来说,有些可能会比较愚蠢,尽情见谅,对于一些小白来说,可能也会带来一些思考的方向。1.安装vmware并安装ubuntu 18.04(这里随便一搜基本都能找
2024-05-24 13:53:38
1146
1
原创 Mini打印机(第一天)
首先想到的是主控芯片和主控芯片的最小系统电路,其次是电源模块,电源模块不仅仅只有供电,还需要充电管理模块设计,电量检测模块设计。然后还有按键驱动模块设计、指示灯模块设计、温度检测模块设计、缺纸检测模块设计、电机驱动模块设计、打印模块设计。最后进行PCB Layout和焊接调试。我们需要进行产品需求分析,我们要做什么?我们需要做的是一个Mini打印机(手持打印机),该产品的目标是为用户提供一款便携、易用、功能丰富的掌上打印机,满足用户在外出时打印照片、文字、学习资料等的需求。
2024-05-05 01:34:03
375
原创 基于环形缓冲区的按键中断读取
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。环形缓冲区是一个先进先出(FIFO)的闭环的存储空间。通俗的理解为,在内存中规划了一块“圆形”的地,将该“圆形”进行N(Ring Buffer的大小)等分。
2023-10-24 21:36:37
298
1
原创 中断相关概念
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
2023-10-16 21:40:36
144
1
原创 面向对象编程思想
模块化的编程思想虽然可以很好的管理项目和具有比较好的移植性,但是为了更好的管理项目,使项目更具有移植性和更便于管理,我们引入面向对象编程思想。块化设计思想本质上是面向过程的思想,面向对象的设计思想更符合人类的思考习惯,面向对象编程就是将事物抽象为“对象” ,针对“对象”持有的数据和与之相关的行为进行编程。
2023-10-05 01:09:00
189
原创 模块化编程:LED,按键,串口
模块化编程思想即是一种设计方式,又是一种思维方式,利用模块化可以把一个非常复杂的系统结构细化到具体的功能点,每个功能点看做一个模块,然后通过某种规则把这些小的模块组合到一起,构成模块化系统。根据外设类型划分模块(文件),也就是采用不同的文件,根据外设不同功能划分模块(函数),也就是采用不同的函数。首先在创建的工程里新填一个文件夹,用来存放我自己所编写的模块,以及相对应的模块文件如下。实现效果为,首先打印一个hello,然后按键按下,LED灯的状态进行反转。
2023-09-18 21:52:42
268
1
原创 HAL库:串口
上一篇文章学习了GPIO的输入和输出,这一章引入了串口,实现一个单片机向电脑发送一个数据,然后键盘输入任意一个字符,led进行点亮,同时进行输入字符的回显。
2023-09-13 00:18:35
467
1
原创 GPIO:LED和按键
上一篇文章讲解了如何快速点灯,当一名点灯工程师(o(* ̄▽ ̄*)ブ)这一章加入按键,快速实现GPIO的输入和输出功能,实现按键按下,灯的状态进行取反的操作。
2023-09-09 21:34:52
766
1
原创 使用CubeMX快速点亮LED
找到main.c,大概的分析一下主函数,首先进行了HAL库初始化,其次进行了系统时钟配置,也就是我们在CubeMX里配置的RCC,接着对GPIO进行了初始化,这些都是我们刚才在CubeMX中配置好自动生成的代码,接着是wile函数,我们写入点亮LED的代码 HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET);选择Debug,Serial Wire,不选择调试,在keil里不能进行调试。在keil里,点击魔术棒,进行一些keil相关的如下设置。
2023-09-08 23:24:51
471
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人