RT1052开发板是一款面向中高档应用的产品,因而其配置的显示的显示器件也为触摸屏。这样就使得它留给使用者的扩展端口比较少,要想自行扩展就主要向矩阵键盘接口KEY PAD着手了。 为了给其配置一个必要的显示窗口,本人所选的显示器件是I2C接口的OLED屏,它只需占用2个GPIO
MIniCH32V103EVB学习手册 第一部分、硬件概述 1.1 MIniCH32V103EVB实物图 1.1.1仿真图 1.1.2实物图 1.2 MIniCH32V103EVB原理图 MIniCH32V103EVB原理图下图所示,如看不清可打开Hardware目录下Sch的PDF文档查阅 第二部分、软件工具 2.1 软件概述 在 /Software 目录下是常用的工具
在学习单片机时,我们会经常使用printf函数进行信息输出,方便调试程序,而学习RT-Thread时也会经常使用rt_kprintf函数进行信息输出,所以在移植完RT-Thread时,我们首先需要定义rt_hw_console_output使得rt_kprintf函数能正常运行 一、初始化UART rt_kprintf函数最终都是通过串口进行日志
LInux_GPIO_DRV /* * gpio_irq_test.c- Sigmastar * * Copyright (c) [2019~2020] SigmaStar Technology. * * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, an
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》 源代码:https://github.com/LanLinnet/STM33F103R6 项目要求 理解H桥电路的工作原理,结合前面几个项目学习过的PWM、EXTI、串口通讯等,要求通过5个按钮控制直流电动机的运行状态,包括:电动机正转、电动机反转
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》 源代码:https://github.com/LanLinnet/STM33F103R6 项目要求 在SPI总线通信的基础上,使用单片机控制DAC芯片MCP4921以1秒为周期输出正弦波,正弦波的波动范围为0-3.3V。 硬件设计 在第一节的基础上,在Proteu
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》 源代码:https://github.com/LanLinnet/STM33F103R6 项目要求 掌握SPI总线通信规则,使用单片机每隔1s读取一次温度传感器TC72的温度值,并通过串口将读取的温度值发送出去。串口通信参数:波特率为19200bits/s,无
#define YES 1 //翻转 #define NO 0 //不翻 #define HEADER_LEN 18//FM0 HEADER #define RN16_LEN 16 #define READ_LEN 33 #define WRITE_LEN 17 const char preamble_str[HEADER_LEN] = "000000000000101011"
来自:韦东山gpio系统 https://cloud.tencent.com/developer/article/1914719 16.2 GPIO子系统重要概念 16.2.1引入 要操作GPIO引脚,先把所用引脚配置为GPIO功能,这通过Pinctrl子系统来实现。 然后就可以根据设置引脚方向(输入还是输出)、读值──获得电平状态,写值──输出高低电平
1. 野火stm32f10x点亮LCD, 并实现动态显示。 2. 代码 主函数main.c #include "stm32f10x.h" #include "./usart/bsp_usart.h" #include "./led/bsp_led.h" #include "./lcd/bsp_ili9341_lcd.h" #include <stdio.h> void LCD_Test(void); voi
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH32V307VCT6" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> 串口1 void uar
简介 stm32通用定时器有多种输入模式,其中包括了pwm输入模式。 原理 pwm输入模式是在输入捕获的基础上使用两组输入捕获通道对同一个TIM引脚进行捕获。 如下图所示: TIMx_CH1引脚输入一个pwm信号,经过输入滤波和边沿检测之后一路(TI1FP1)给到了IC1,一路(TI1FP2)给到了IC2,从而实现两
1.bsp_SysClock_Config使用: (1)在工程内加入野火开发板的"bsp_clkconfig.c"和 "bsp_clkconfig.h" 估计这部分的代码差异很小,只有外部晶振的规格会影响结果,但一般都是8MHZ。 (2)注意,由于设置了Flash预存取,文件使用了stm32f10x_flash.c 记得导入这个库文件,并且在stm32f10x_conf.h中
简介 以stm32f103rct6为例,下面说明如何使用通用定时器实现pwm输出 详细 stm32的定时器有多种类型,有RTC、基本定时器、通用定时器、高级定时器。下面我们选择通用定时器来实现pwm输出功能。 这里我选择TIM2定时器。 第一步:选择哪几个引脚输出pwm信号,这里我选择PA1、PA2,如下图: 第二
HamsterBear Linux ST7789V FBTFT驱动适配 平台 - F1C200s Linux版本 - 5.18 TFT屏 - 1.69寸IPS高清ST7789V 修改设备树,在spi0节点下添加 &spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_pd_pins>; status = "okay";
quoted by ADI. 串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用较广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。 SPI是一种同步、全双工
本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》 源代码:https://github.com/LanLinnet/STM33F103R6 项目要求 同04节,电路常态为流水灯状态,当按下按钮BTN0时,8个LED灯全亮全灭闪烁3次后恢复到常态;当按下按钮BTN1时,8个LED灯间隔交替闪烁3次后恢复常态;当BTN0
目标:从官网标准库包中搭建一个能使用GPIO的工程环境 过程:知道实际需要用到的头文件、被调用了的头文件、编译器需要做什么该怎么配置 结果:GPIO工程结构、构建思路 先以上次自己写GPIO库的经验导入如图所示的几个文件,main、startup、核外外设基地址头文件f10x.h、GPIO操作函数封装
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH32V307VCT6" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> 在GPIO设置为输出的状态
linux下最简单的应该就是gpio的驱动了 通过sys下的系统可以很方便的操作 有时候需要捕获gpio的中断,这也算是比较常见的需求 也没什么说的 ,直接上代码了 dts里面给gpio的标号就可以了 #include <linux/bitrev.h> #include <linux/module.h> #include <linux/device.h> #include <li
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnEC616_SLM130" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p> 说明(一定要看完上一节)
WEMOS LOLIN32簡介 https://swf.com.tw/?p=1331&cpage=1 ESP32引脚参考 https://www.cnblogs.com/lnsane/p/13756430.html esp32 FTPclient https://github.com/ldab/ESP32_FTPClient ESP32:WebServer https://blog.csdn.net/Naisu_kun/article/details/88572129
效果: 1.介绍一直想搞一个示波器,今天发现手头上有一款灵动的开发板,而且上面刚好有3个电位器,似乎电位器是灵动的标配,先拿这个练练手。2.设计首先需要一款屏幕,手头上有一款非常常用的OLED屏幕,屏幕的分辨率是128x64的,虽然分辨率不高,但是做个简易示波器还是够用的,由于直接接的芯
有很多传感器手册给了我们时序图,我们只要按照时序图操作就行了,还有一些是标准接口,例如SPI,IIC,UART,这些可以利用硬件提供的收发器通信,还有一些我们没有足够的接口,或者没有对应的接口与之通信,我们可以按照手册提供的时序图,利用IO来完成读写操作。完成的思路是模块化编程思想,将问题
相关用法在之前的[Sipeed 内部培训] V831/V833 的 SDK 的 kernel & package 的开发方法 的『关于适配和测试常见的基础外设驱动,从上层用户空间的软件到底层硬件寄存器之间的联系。』 一节可知,,最近给新人参考说明用。 设备树引脚的分配 spi1_pins_a: spi1@0 { allwinner,pin