简单介绍下矩阵键盘的原理:矩阵键盘4个输入端口ROW[3:0] 接收由FPGA产生的键盘扫描输入信号,而4个输出COL[3:0] 将按键操作的信息变化输入到FPGA扫描分析电路,进而得到按键的操作码。输入端口分别接了4个上拉电阻,当4个输入端口输入若都为1时,则有无论按哪个按键,输出都为1,所以 若刚开始的时候对四个输入端口赋0,则只要
项目完整工程文件百度网盘自取链接:https://pan.baidu.com/s/10pxsGElFsUCfuDcg2kwmcA 提取码:83ue 本教程详细介绍了CAN通信配置过程,具体包括cubemx配置以及keil程序编写两部分。项目使用stm32f103c8单片机作为主控芯片,通过在cubemx软件上实现时钟、CAN、GPIO口等配置的初
转载
2024-10-18 09:04:13
318阅读
本篇文章主要介绍如何安装STM32CubeMX及STM32CubeMX配合keil完成1、做一个LED流水灯,用GPIO端口完成3只LED红绿灯的周期闪烁。2、完成一个STM32的USART串口通讯程序,要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。目录一、STM32C
51单片机LCD1602显示元器件原理图部分代码main.c工程文件 元器件元器件名称排阻RESPACK-851单片机AT89C51LCD1602LM016L按键BUTTON原理图部分LCD1602驱动:HD44780显示主要有8位操作8位两行显示,4位操作8位一行显示,8位操作8位一行显示。LCD1602主要由HD44780进行驱动,首先查看HD44780数据手册看相关引脚的作用引脚作用RS选
转载
2024-08-15 11:19:23
72阅读
head.jpg尝试烧写板子1. 为什么要烧写板子呢?烧写是一种过去将下载程序到硬件里的说法,如今只是习惯用语。只要我们通过烧写的工具,就可以将我们想要的程序放到硬件当中运行,比如在这里,就是把 MicroPython 固件烧到硬件芯片上,从而直接进行 MicroPython 语言的开发。2. 准备相关工具以 Windwos 为例,你需要到 Tools 里面,将 AutoErase.exe、Aut
转载
2023-12-27 19:02:31
94阅读
F103C8T6 HAL库 Makefile FreeRTOS 工程模板环境该工程的开发平台为 ARM-GCC 工具链和 Make> arm-none-eabi-gcc -v
gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU Tools for Arm Embedded Processor
转载
2024-04-12 23:26:44
277阅读
文章目录一、提示二、去掉无用的驱动文件三、修改u8g2_d_setup.c三、修改u8g2_d_memory.c四、提供接口函数1.初始化GPIO2.编写u8x8_msg_cb gpio_and_delay_cb五、U8G2初始化 一、提示 二、去掉无用的驱动文件下载源码后,我们仅需要留下st7567的驱动文件并导入即可。三、修改u8g2_d_setup.c根据我的尝试,发现只有使用
转载
2024-09-05 19:33:07
77阅读
一些简单的说明 Toolchain(编译器、链接器、调试器等各种系统工具)。 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。此外,Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他
目录OLED介绍取字模程序main.coled.coled.hspi2.cspi2.holedfont.h效果源码模拟SPI控制方式 OLED介绍OLED主要参数 1、高分辨率:12864(和12864LCD相同分辨率,但该OLED屏的单位面积像素点多)。 2、广可视角度:大于160°。 3、低功耗:正常显示时0.04W。 4、宽供电范围:直流3.3V-5V。 5、工业级:工作温度范围-30°℃
转载
2023-11-15 11:54:24
190阅读
文章目录一、Proteus仿真运行stm32程序1、安装Proteus 8.9应用程序2、创建工程3、选择所需要的器件4、在KEIL5上编写程序生成.hex文件,在proteus上仿真二、Altium Designer软件绘制一个stm32最小系统的电路原理图、PCB图1、创建工程2、原理图绘制 一、Proteus仿真运行stm32程序1、安装Proteus 8.9应用程序1、下载Proteus
1.简介DAC指数字/模拟转换。STM32F103RCT6具有2个12位数字输入,模拟输出的DAC;支持数字输入配置成8位右对齐、12位左对齐或12位右对齐格式;在双DAC通道模式下支持单通道独立转换或双通道同步转换。2.框图根据框图,将数据写入DHRX寄存器后,经过控制逻辑后被传输到DORX寄存器后再转成模拟输出值得注意的是,一旦使能DACx通道(ENx位置1),相应的GPIO引脚(DAC1对应
转载
2024-05-19 11:10:57
1052阅读
周立功官网资料下载链接:http://www.zlg.cn/ipc/down/down/id/84.html平台:致远M6G2C-L Cortex-A7工控核心板主要参考文档:EPC_loT_M6GxC_A6GxC V1.05.00->02.开发指南->[开发指南]M6G2C&A6G2C系列核心板软件开发指南_V1.05.pdf1. 编译环境搭建1.1 ubuntu14.04操
转载
2024-05-16 21:46:49
42阅读
01、说在前面 RTOS为了提高任务调度效率一般都包含汇编程序,因此移植起来需要一些汇编知识,就算网上肯定有移植教程,初次搞起来还是挺费劲的。初学时对RTOS代码不熟悉,一开始就打击了积极性可不好。因此本篇不讲怎么移植,介绍使用ST“懒人神器”CubeMX来快速移植配置FreeRTOS。02、RTOS介绍  
前言,什么是STM32F030F4P6STM32目前最便宜的芯片之一应该就是这一块,STM32F030F4P6,这一个芯片没有USB,但是其他都有,引脚少,价格低廉,如果找不到原厂,可以买替代的国产芯片,性能也一样。不管怎么样也是Cortex-M0,比8bit和16bit的性能都强,总的来说就是低价,引脚少,体积小的同时,还容易开发,有很多模拟输入可玩,还有SPI,硬件I2C等等 所以,
中断的意义被提及过无数次,这里还是再次解释一下:人的大脑其实就是中断管理器,例如“人有三急”,当你急的时候去处理其它事,放下当前事,这就是执行了一次中断。MCU也有各种中断,经典89C52单片机主要有定时器中断、外部中断、串口中断三种。定时器中断,就是设置一定时间后,响应对应的中断信息,类似于闹钟,定时1h,就执行闹铃。89C52单片机有3个定时器0/1/2,这里以定时器0为例进行解读说明。定时器
1.硬件通过查看原理图,我们可以找到我们需要使用的管脚。通过原理图,我们可以看出,按键的两个管脚,分别对应着PE3,PE4两个管脚。这两个管脚按下输出是0,没有按下输出是1,由于没有电容进行硬件消抖,我们需要使用软件去消抖。 2.配置确定了引脚,我们就要去配置相应的寄存器,使用这些外设了。两个按键对应着GPIOE的3/4引脚,我们需要去初始化GPIOE。初始化GP
littleVGl开源GUI图形库的移植一. 准备工作自己需要有一个能正常驱动显示屏运行的工程工程中需要配置一个定时器本教程只记录了显示的移植方法,所以自己只需要先实现屏幕的写点函数。下载littlevGL图形库: https//github.com/littlevgl/lvgl
查看官方文档:https://docs.littlevgl.com/zh-CN/html/index.html
二.
在这篇文章中,我将带领你学习如何在STM32F103C8T6芯片上实现ARM架构。这个过程可能看起来有些复杂,但只要跟着我一步一步来,你会发现其实并不难。首先,让我来简单介绍一下整个过程的步骤:
| 步骤 | 内容 |
| ---- |---------------------------------|
| 1 | 准备工作,包括安装
原创
2024-05-15 09:48:00
195阅读
STM32F103移植CH32F103C8T6内部FLASH速度慢问题解决办法博主做项目一直采用STM32F103C8T6,近期因为元器件涨价博主决定换单片机,于是瞄上了江苏沁恒的CH32F103C8T6,这款单片机几乎不需要修改一个代码便能移植项目(PACK导入编译直接下载那种),而且代码执行速度略快于STM32F103C8T6,软件延时可能得稍微修改一下,但是在测试过程中发现不能远程更新固件,
转载
2024-07-11 20:16:25
230阅读
Windows痕迹清理windows 日志路径:安全日志文件:%systemroot%\system32\config\SecEvent.EVT系统日志文件:%systemroot%\system32\config\SysEvent.EVT应用程序日志文件:%systemroot%\system32\config\AppEvent.EVTDNS日志默认位置:%sys temroot%\system