pin

stm32:简单按键输入实现

时间秒杀一切 提交于 2020-04-08 14:07:51
开发环境keil4,芯片STM32F103C8T6 1、main.c //串口实验 #include "sys.h" #include "delay.h" #include "key.h" #define DC12VDO_ON() GPIO_SetBits (GPIOC, GPIO_Pin_13) #define DC12VDO_OFF() GPIO_ResetBits (GPIOC, GPIO_Pin_13) int Index1,Index2,Index3 = 0; int time1; unsigned char gUart_Rece_Buf1[256]; unsigned char gUart_Rece_Buf2[256]; unsigned char gUart_Rece_Buf3[2048]; int i,j=0; u8 key; int main(void) { delay_init(); //延时函数初始化 sys_Init(); //系统初始化(时钟初始化、中断初始化、GPIOx初始化、串口1初始化、串口2初始化、串口3初始化) while(1) { DC12VDO_OFF();//led常亮 key=KEY_Scan(); if(key==1) { DC12VDO_ON();//灭led delay_ms(1000);//等待 } } } 2、key.c

基于stm32的HC-SR04超声波测距模块使用

北城以北 提交于 2020-04-06 19:09:17
1 工作原理 使用超声波模块之前,先了解其IO口和工作原理: 1.1 IO说明 VCC: 供5V电源 GND: 为地线 TRIG: 触发控制信号输入 ECHO: 回响信号输出 1.2 基本工作原理: 认真看好以下工作原理,后面的代码就是基于工作原理来实现的。 (1)采用IO口TRIG触发测距,给最少10us的高电平信号。 (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回, 通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。 测试距离=(高电平时间*声速(340M/S))/2 时序图: 2 程序编写 2.1 外设配置 根据两个信号引脚来配置两个单片机的IO口 trig: 需要产生一个10us高电平, 配置为推挽输出; echo: 等待高电平脉冲并测量其脉冲宽度, 配置为下拉输入 测量echo的高电平持续的时间,需要用到定时器, 因此配置一个定时器,用来计时 void UltrasonicWave_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//开启GPIOB时钟 RCC

xilinx 芯片 使用vivado 生成pin delay文件

只愿长相守 提交于 2020-03-17 17:48:05
以v7系列芯片xc7vx690tffg1761-2为例 打开vivado软件,在Tcl Console输入命令 link_design -part xc7vx690tffg1761-2 再次输入 write_csv xc7vx690tffg1761-2, 其中xc7vx690tffg1761-2为CSV文件名称,可任意输入 成功后,生成csv文件,文件存放路径 C:/Users/Administrator/AppData/Roaming/Xilinx/Vivado/ 打开CSV文件, 其中Min Trace Delay (ps),Max Trace Delay (ps),两列既是,使用时可以对其取平均在使用。 来源: CSDN 作者: HKdota 链接: https://blog.csdn.net/u012654584/article/details/104921700

Blender to RizomUV 脸部UV拆分需要使用的功能

倾然丶 夕夏残阳落幕 提交于 2020-03-06 05:28:44
脸部UV要保留更多的细节,所以在使用rizomUV时,最好留给脸部较大的UV,因为面部需要更加精细的表现。 首先在Blender中选择要展UV的部分: 点击Send To RizomUV,进行UV展开。 适当缩小除脸部其它部分的比例,尽可能使脸部占用UV的比例越大。 这里主要用到 Package Translate(直接按P会打乱你之前的变换,虽然可以通过Initial Orientatic进行改变) : Constraint Edge(上面UV的边界处,就是用Constraint Edge,保证边界在舒展是,仍然保持直线) pin(主要用来做拉伸) 下图的红圈里就是被Pin住的点,点击O之后,自动舒展就会把Pin点之间部分进行平滑,是一个很有用的功能。之所以这么做的原因是因为,rizomUV中只能同时对u和v方向进行相同比例的放大缩小(不是指Till),如果想要对水平或垂直方向拉伸,可以先对点进行Pin,移动,再按O,进行舒展拉伸 来源: CSDN 作者: Jiabin.niu 链接: https://blog.csdn.net/u010392759/article/details/104677948

STM32获取DHT11温度传感器数据

心不动则不痛 提交于 2020-03-03 16:03:30
准备物件 STM32F103C8T6核心板 ST-LINK V2 DHT11 杜邦线若干 连接线 STM32F103C8T6芯片管脚图 管脚说明 连接仿真器 STM32 ST-LINKV2 VCC VCC GND GND SWCLK SWCLK SWDIO SWDIO 创建工程 参考 STM32F103X 开发环境搭建 可将其模板复制一份 添加延时功能 在 DRIVER/inc 中添加 timer.h #ifndef __TIMER_H__ #define __TIMER_H__ #include "stm32f10x.h" void systick_init(void); void timing_delay_decrement(void); void delay_us(__IO uint32_t n); #endif 对应的在 DRIVER/src 中添加 timer.c #include "timer.h" __IO uint32_t gTimingDelay; /* SystemCoreClock / 1000 --> 1ms */ /* SystemCoreClock / 10000 --> 100us */ /* SystemCoreClock / 100000 --> 10us */ /* SystemCoreClock / 1000000 --> 1us */

[MicroPython]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

℡╲_俬逩灬. 提交于 2020-03-02 03:50:43
智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车,远程传输图像等功能。下面带大家做一个智能蓝牙小车,用手机APP来控制小车前进、后退、向左、向右、停止,本次蓝牙小车的设计在于探索蓝牙智能小车的设计理念及设计方法,学习一下PWM控制电机差速来控制小车的方向,下面就动手搞起来吧!!!!! 1.效果展示 给大家上视频连接,可以蓝牙控制,可以手柄控制哦 https://v.qq.com/x/page/k0721or47dw.html 2.材料准备 TPYBoard v102 1块 蓝牙串口模块 1个 TPYBoard v102小车扩展板(包含4个车轮,4个电机) 18650电池 2节 数据线 1条 杜邦线 若干 蓝牙APP (http://old.tpyboard.com/download/tool/190.html) 3.蓝牙模块 蓝牙( Bluetooth):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4-2.485GHz的ISM波段的UHF无线电波)。 我们在此使用的蓝牙模块(HC-06)已经在内部实现了蓝牙协议,不用我们再去自己开发调试协议

低功耗设计技术--门控电源(Power/Ground Gating)--Power Switching Cell

瘦欲@ 提交于 2020-02-12 16:54:47
本文转自:自己的微信公众号《集成电路设计及EDA教程》 概念: Power/Ground Gating是集成电路中通过关掉那些不使用的模块的电源或者地来降低电路漏电功耗的低功耗设计方法。该方法能降低电路在空闲状态下的静态功耗,还能测试Iddq。 理论: 在电路中的某些模块进入休眠或者空闲模式时,我们可以使用之前讲过的Clock Gating技术来降低它们的动态功耗,但是无法降低它们的静态功耗。而Power/Ground Gating技术可以在它们休眠的时候完全关掉它们的电源从而消除它们的静态功耗。 理想情况下,Power gating可以完全消除电路的静态功耗,可实际电路中Power gating只能完全关掉dynamic的power消耗,而leakage却只会减少,不会消失,因为power gating技术仍需要加入一些Always On的Cell(比如switching cell、isolate cell和retention cell,它们都是一直开启的,它们的电源不能被关断,会带来leakage)。 如下图所示为采用了Power gating的电路动态功耗与静态功耗在active模式以及sleep模式下功耗的变化曲线。 Power gating中用到的几种Cell 接下来将对几种Cell分别介绍。 由于内容非常多,非常详细,所以本推文先介绍第一个--Power

STM32 SD卡 TF卡 SPI 接口

蓝咒 提交于 2020-02-10 17:03:07
SD卡和TF卡管脚定义有区别,需要注意。 * +-------------------------------------------------------+ * | Pin assignment | * +-------------------------+---------------+-------------+ * | STM32 SPI Pins    | SD   | Pin |  TF Pin * +-------------------------+---------------+-------------+ * | SD_SPI_CS_PIN   | ChipSelect  | 1 |    2 * | SD_SPI_MOSI_PIN / MOSI  | DataIn  | 2 |    3 * | | GND | 3 (0 V)  | * | | VDD | 4 (3.3 V) |     |   4 * | SD_SPI_SCK_PIN / SCLK    | Clock   | 5 |    5 * | | GND | 6 (0 V)   |  6  |   6 * | SD_SPI_MISO_PIN / MISO    | DataOut  | 7 |   7 * +-------------------------+---------------+--

周立功IMX287开发套件之数码管驱动(linux下74HC595多级串联驱动,数码管驱动)

怎甘沉沦 提交于 2020-02-09 14:19:49
疫情待在家里很无聊,发现吃土的开发板。好久好久没干linux相关开发了,还是在安美数字的时候干的linux网络应用和部分内核开发,现在忘得差不多了,试着捡起来吧。 硬件:如上图短接帽接法 软件:驱动下面直接贴出来(直接同时驱动四个断码比较水),应用层直接write就行 如果要四位显示不同数据需要改驱动和应用层,驱动增加数码管位使能,应用层需要一个单独进程一直跑显示,另一个传数据。我太懒了,就不写了! #include <linux/cdev.h> #include <linux/init.h> #include <linux/module.h> #include <mach/gpio.h> #include <asm/io.h> #include "mach/../../mx28_pins.h" #include <mach/pinctrl.h> #include "mach/mx28.h" #include <linux/fs.h> #include <linux/io.h> #include <asm/uaccess.h> #include <linux/miscdevice.h> #include <linux/irq.h> #include <linux/sched.h> #include <linux/interrupt.h> #include <linux/timer

arduino(9):使用ESP8266,连接到RFID RC522 设备上,读取门禁卡上的设备信息

≯℡__Kan透↙ 提交于 2020-02-08 10:05:09
目录 前言 1,关于arduino 使用 rfid-rc522 2,使用 3,总结 前言 相关arduino 全部分类: https://blog.csdn.net/freewebsys/category_8799254.html 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/104114070 未经博主允许不得转载。 博主地址是: http://blog.csdn.net/freewebsys 1,关于arduino 使用 rfid-rc522 接线参考文章: https://blog.csdn.net/qq_31878883/article/details/88971935 这边使用的lib 库是 https://github.com/miguelbalboa/rfid 样例也是参考上面的,需要下载 库到 libraries 文件夹中。 有 1.7K 的收藏,然后使用其中的example 中的代码。 2,使用 代码,代码不是很多,但是需要注意下配置: #define RST_PIN 5 #define SS_PIN 4 这两个配置的是 5 和 4 的针脚,使用的是 SPI 进行通讯的。 /* * --------------------------------------------------------