gpio

树莓派控制Arduino

本秂侑毒 提交于 2020-03-04 13:43:05
一、树莓派中Arduino的通信方式(USB) 1、Arduino在树莓派中是靠串口连接通信的,一般有两种通信方式,一种是通过USB连接,一种是用GPIO通信。 USB连接: 1、将树莓派与Arduino通过usb线进行连接。 2、在树莓派终端输入 ls /dev/tty*查看两者连接端口的名字。查看有没有ttyACM0 这个文件(注只有在两个硬件USB互连的情况下才会有这个。如果两者没有连接是不会有的) 最新的系统一般都会自动生成。看到ttyACM0就说明二者可以通讯了 接下来上测试代码。 3、经过编写python程序,在终端上输入sudo python 文件名.py运行程序; 二、树莓派中Arduino的通信方式(GPIO引脚简单说明): 1、安装python的GPIO模块,用于控制电子元件。 2、安装serial,用于串口通信或者usb通信。安装完成后监测是否成功(运行一个有serial的python文件即可)。 3、在终端上创建一个python程序,在此程序中配置环境,然后运行程序即 可; 来源: https://www.cnblogs.com/jingxinbk/p/12408886.html

GPIO

一个人想着一个人 提交于 2020-03-04 13:00:32
General-purpose input/output,通用输入输出 4种输入模式: 输入浮空 输入上拉 输入下拉 模拟输入 4种输出模式: 开漏输出(带上拉或者下拉) 开漏复用功能(带上拉或者下拉) 推挽式输出(带上拉或者下拉) 推挽式复用功能(带上拉或者下拉) 4种最大输出速度: 2MHZ 25MHz 50MHz 100MHz 8种工作模式: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 来源: https://www.cnblogs.com/holaworld/p/12408804.html

GPIO简介与LED灯

与世无争的帅哥 提交于 2020-03-03 22:28:37
文章目录 一. /IO口的简介 1.单片机IO口 2.GPIO简介 3.GPIO结构 二.点亮LED灯 原理 1.点亮单个LED灯 2.有延时反复闪烁效果 3.流水灯 一. /IO口的简介 1.单片机IO口 STC89C52单片机有40个引脚。如下图所示 (1) 电源引脚 :引脚图中的 VCC、 GND 都属于电源引脚。 (2) 晶振引脚 :引脚图中的 XTAL1、XTAL2 都属于晶振引脚。 (3) 复位引脚 :引脚图中的 RST/VPD 属于复位引脚,不做其他功能使用 (4) 下载引脚 :串口功能引脚(TXD、RXD)可以作为下载引脚使用 (5) GPIO引脚 :有4组:P0、P1、P2、P3,每组8个(Px0~7),共有32个。其中每个P3引脚有附加功能,通过对相应寄存器的设置,可以启动附加功能。 2.GPIO简介 GPIO是通用输入输出端口的简称,可以直接通过软件来控制其输入输出 。GPIO与外部各种电气设备连接,从而实现与外部通讯、控制、数据采集的功能。 比如,用软件控制GPIO口的高低电平,就可以直接控制LED灯的亮灭。 3.GPIO结构 除了P0口外,其它的I/O口内部都有上拉电阻。 注意 :P0 口做普通 I/O 使用时,要加上拉电路,因为其没有内部上拉。 二.点亮LED灯 原理 用软件可以操控P2口。LED灯有单向导电性,其公共端接高电平(称为共阳极)。

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 */

2020年03月02日 14:06:42

我是研究僧i 提交于 2020-03-02 15:21:21
补上上次的 上次按键输入一直感觉太简单。没有用到之前说的上拉电阻什么的 今天看明白了,如果GPIO默认配置的话,要外接一个1-10KΩ的上拉电阻。 但是STM32内置上拉电阻,GPIO配置成上拉模式后,就可以不接上拉电阻了。 测试顺利。 来源: CSDN 作者: rgj_cn 链接: https://blog.csdn.net/rgj_cn/article/details/104610912

为何HAL库的工程“进入不了”外部中断?

坚强是说给别人听的谎言 提交于 2020-02-28 21:13:16
今天遇到一个惨痛的教训。 用CubeMX生成按键的外部中断工程,Nucleo的板子上PA5连接LED,PC13连接按键,并且外接上拉电阻。如图 于是在CubeMX配置PA5引脚和PC13引脚,一个作为推挽输出,一个作为外部中断,因为按键是上拉的,内部引脚配置为上拉输入或者无上下拉均可,这里我采用无上下拉 配置完GPIO,就去配置中断优先级了,这里我选择分组为2,两个优先级均为0,记住中断使能一定要勾上 其他的工程命名就不必多说了,最后打开生成的工程主函数即是如此 我们打开MX_GPIO_Init()这个函数看看,发现中断线映射、分组以及使能均已配置完成 那么中断函数在哪里呢?打开工程里面的stm32f1xx_it.c这个文件,中断函数就在这里,但是其中只有一个HAL_GPIO_EXTI_IRQHandler()函数,传进去的参数是GPIO_PIN_13 打开函数看看,里面先把中断的标志位清零,然后进入回调函数,下面出现了一个_weak的修饰符,想要了解具体的弱函数可以看看这篇文章 stm32_HAL库中__weak修饰符 中断的内容我们可以写在EXTI15_10_IRQHandler()函数内,但是我们一般写在回调函数HAL_GPIO_EXTI_Callback()函数内,回调函数可以写在任何一个文件里面,只要中断函数的文件里引入头文件即可,在这里我把它放在gpio.c的文件中

创龙基于TI TMS320C6748定点/浮点DSP C674x开发板的拓展IO信号、底板B2B连接器

微笑、不失礼 提交于 2020-02-27 12:14:31
TL138/1808/6748F-EVM是广州创龙基于SOM-TL138/1808/6748F核心板开发的一款开发板。由于SOM-TL138/1808/6748F核心板管脚兼容,所以此三个核心板共用同一个底板。开发板采用核心板+底板的设计方式,尺寸为24cm*13cm,它主要帮助开发者快速评估核心板的性能。 核心板采用高密度8层板沉金无铅设计工艺,尺寸为66mm*38.6mm,板载3路高转换率DC-DC核心电压转换电源芯片,实现了系统的低功耗指标,精密、原装进口的B2B连接器引出全部接口资源,以便开发者进行快捷的二次开发使用。 拓展IO信号 CON18是FPGA GPIO拓展接口,引脚定义如下: CON24是EMIFA接口,通过EMIFA可实现开发板与不同类型 存储设备 的连接,例如多通道AD模块、多串口模块,其引脚定义如下: J2是McASP/GPIO等信号拓展接口,引脚定义如下: CON16、CON17是FPGA GPIO扩展接口,使用48pin欧式公座连接器,引脚定义如下: CON19、CON20、CON21是FPGA GPIO扩展接口,使用12pin PMOD座,引脚定义如下: 底板 B2B连接器 开发板底板上有4个80pin、0.5mm间距的B2B连接器,其中CON1A和CON1B是母座,CON1C和CON1D是公座,用于和核心板连接,以下为底板各个B2B的引脚定义:

基于stm32mini开发板的简易函数发生器和简易示波器

五迷三道 提交于 2020-02-27 11:00:48
基于stm32 mini开发板的简易函数发生器和简易示波器 前言:这是我学习完stm32基础知识后做的第一个比较综合的项目,由于本人学习时间不长,在程序设计方面能力不强,故展示的代码或者方法可能有误,还请各位大佬海涵,我也很高兴大家能在评论区提出建议和意见,谢谢。 一、项目整体思路和实现的功能 这个项目是基于正点原子stm32 mini开发板设计的,使用芯片为STM32F103RCT6,相关配置步骤和基础知识,可以在正点原子论坛找到。 (一)、简易示波器思路和功能 利用stm32强大的ADC功能,在一定时间内采集IO口电压,将采集到的一定数值保存在数组中,经过数据处理后,显示在LCD上。 能实现正电压下,0~3.3v电压的显示,以及最高10KHZ的频率显示(10K以上显示将不清晰)。能通过两个按键实现对ADC采样周期的转换,分为us级和ms级。 (二)、简易函数发生器思路和功能 利用stm32强大的DAC和DMA功能,以定时器2触发DAC转换,以DMA传送需要转换的数值,以达到目标波形的输出。 能实现正弦波,三角波,方波,锯齿波,甚至模拟噪声波等多种波形的输出,可以调节输出波形的幅值和频率。 二、程序设计和部分原理解释 (一)、外围按键设计 这部分主要涉及改变ADC采样周期,由于整个程序有延时,必须采用中断的方式读取键值并改变采样周期标志位,这样才能达到按一次改变一次的效果

Orangepi one控制GPIO 基于Armbian系统实现LED亮灭

南楼画角 提交于 2020-02-27 00:15:40
官方支持orangpi的系统不多,armbian是其中之一。 没带桌面的固件刷完只有python3,带有桌面的固件刷完后已经装好python2和python3了,把pip和pip3通过命令: pip -V pip3 -V 查看安装是否完成以及版本。 python和pip都没问题后,就可以开始准备实现orangepi的GPIO控制了 首先,安装库文件: sudo pip install --upgrade OPi.GPIO 如果是python3,则使用: sudo pip3 install --upgrade OPi.GPIO 安装完成后,在python2/3中,impoort测试一下: import orangepi.one 一切正常没有问题的话,就可以设定板子的引脚信息,并且打印出来: BOARD = orangepi.one.BOARD GPIO.setmode(GPIO.BOARD) print(BOARD) 可以看到,输出有一串字典信息{3: 12, 5: 11, 7: 6, 8: 13, 10: 14, 11: 1, 12: 110, 13: 0, 15: 3, 16: 68, 18: 71, 19: 64, 21: 65, 22: 2, 23: 66, 24: 67, 26: 21, 27: 19, 28: 18, 29: 7, 31: 8, 32: 200, 33:

RS485串口编程

故事扮演 提交于 2020-02-25 20:08:10
1.1 单工、半双工、全双工 首先,我使用的是芯片为 SP3485E 为半双工通信。 那么先要明确什么是单工、半双工、全双工。 单工数据传输只支持数据在一个方向上传输; 半双工数据传输允许数据在两个方向上传输 ,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信; 全双工数据通信允许数据同时在两个方向上传输 ,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。 网卡的全双工(Full Duplex)是指网卡在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的网卡一般都支持全双工。 提到全双工,就不能不提与之密切对应的另一个概念,那就是“半双工(Half Duplex)”, 所谓半双工就是指一个时间段内只有一个动作发生 ,举个简单例子,一条窄窄的马路,同时只能有一辆车通过, 当目前有两量车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。早期的对讲机、以及早期集线器等设备都是基于半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台。 1.2 关于RS485通信 RS232 标准是诞生于 RS485 之前的,但是 RS232 有几处不足的地方: 接口的信号电平值较高, 达到十几 V,使用不当容易损坏接口芯片