自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 PCB零基础设计之GD32F103最小系统板(三)

复杂的地方开始(一般是mcu开始),还有一些相关的走线的注意事项,如走线不准许有锐角线的存在,不走直角线(个人觉得少量的直角线还是可以走的,因为一般会进行泪滴处理,个人目前觉得这样可以去除直角线的影响)。在进行完布局布线以后就到了PCBlayout的最后一步了,铺铜,这里也没什么讲的,就是底层和顶层都进行铺铜,但是注意的是,有些元器件需要禁止铺铜,如这里设计的晶振,需要按照包地的范围将晶振进行禁止铺铜,在进行铺铜前,需要进行泪滴处理,做泪滴处理是为了防止拐角和连接点等在侵蚀下产生大量的问题。

2024-09-10 16:26:32 763

原创 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 1105

原创 PCB零基础设计之GD32F103最小系统板(一)

PCB( Printed Circuit Board),中文即印制电路板,或印刷线路板。它是电子产品中的重要部件,元器件的支撑体,更是实现诸多电子元器件电气连接的载体。像纸张印刷一样,PCB板也是印刷出来的,不过它采用的技术叫电子印刷术,所以我们称之为“印刷”电路板。

2024-09-06 14:13:28 879

原创 小梅哥ZYNQ FPGA之三八译码器

以 3-8 译码器为例,即将 3 种输入状态翻译成 8 种输出状态,其真值表如下表所示,其中 A,B,C 为数据输入,Out 为数据输出。在 MCU 应用中,如果需要保证一定的速度情况下实现此功能,一般选取外挂一片 74HC38 或者 74LS38 等独立芯片,但 FPGA 提供了一个完整的想象以及实现空间,仅靠其自身即可实现设计要求。通过整体的代码逻辑上板测试的输出来看,上板测试的结果符合设计的逻辑。通过整体的代码逻辑和仿真输出来看,仿真波形符合设计的逻辑。

2024-08-11 17:05:41 300

原创 小梅哥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 404

原创 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 567 6

原创 GK7205V200学习记录(一)

注:本人对于linux相关的知识属于小白,之前学习过Linux应用层的简单知识并做过一个简易的聊天室,其实就是相当于一个简易demo,然后买了一个韦东山的imx6ull_pro开发板只学习到了第四篇的一半,基本就是只点亮了板子,准备好了各种学习需要的工具,进行了一些简单的编译,所以在下面的操作过程中可能会写出一些自己的想法和疑问,对于一些大佬来说,有些可能会比较愚蠢,尽情见谅,对于一些小白来说,可能也会带来一些思考的方向。1.安装vmware并安装ubuntu 18.04(这里随便一搜基本都能找

2024-05-24 13:53:38 742

原创 Mini打印机(第一天)

首先想到的是主控芯片和主控芯片的最小系统电路,其次是电源模块,电源模块不仅仅只有供电,还需要充电管理模块设计,电量检测模块设计。然后还有按键驱动模块设计、指示灯模块设计、温度检测模块设计、缺纸检测模块设计、电机驱动模块设计、打印模块设计。最后进行PCB Layout和焊接调试。我们需要进行产品需求分析,我们要做什么?我们需要做的是一个Mini打印机(手持打印机),该产品的目标是为用户提供一款便携、易用、功能丰富的掌上打印机,满足用户在外出时打印照片、文字、学习资料等的需求。

2024-05-05 01:34:03 211

原创 基于环形缓冲区的按键中断读取

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。环形缓冲区是一个先进先出(FIFO)的闭环的存储空间。通俗的理解为,在内存中规划了一块“圆形”的地,将该“圆形”进行N(Ring Buffer的大小)等分。

2023-10-24 21:36:37 244 1

原创 中断相关概念

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

2023-10-16 21:40:36 74 1

原创 面向对象编程思想

模块化的编程思想虽然可以很好的管理项目和具有比较好的移植性,但是为了更好的管理项目,使项目更具有移植性和更便于管理,我们引入面向对象编程思想。块化设计思想本质上是面向过程的思想,面向对象的设计思想更符合人类的思考习惯,面向对象编程就是将事物抽象为“对象” ,针对“对象”持有的数据和与之相关的行为进行编程。

2023-10-05 01:09:00 154

原创 模块化编程:LED,按键,串口

模块化编程思想即是一种设计方式,又是一种思维方式,利用模块化可以把一个非常复杂的系统结构细化到具体的功能点,每个功能点看做一个模块,然后通过某种规则把这些小的模块组合到一起,构成模块化系统。根据外设类型划分模块(文件),也就是采用不同的文件,根据外设不同功能划分模块(函数),也就是采用不同的函数。首先在创建的工程里新填一个文件夹,用来存放我自己所编写的模块,以及相对应的模块文件如下。实现效果为,首先打印一个hello,然后按键按下,LED灯的状态进行反转。

2023-09-18 21:52:42 219 1

原创 HAL库:串口

上一篇文章学习了GPIO的输入和输出,这一章引入了串口,实现一个单片机向电脑发送一个数据,然后键盘输入任意一个字符,led进行点亮,同时进行输入字符的回显。

2023-09-13 00:18:35 376 1

原创 GPIO:LED和按键

上一篇文章讲解了如何快速点灯,当一名点灯工程师(o(* ̄▽ ̄*)ブ)这一章加入按键,快速实现GPIO的输入和输出功能,实现按键按下,灯的状态进行取反的操作。

2023-09-09 21:34:52 594 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 363

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除