什么是芯片引脚脚 blink 什么意思

Raspberry Pi Blink(WiringPi)
Wiring Pi下载与安装
树莓派使用C语言编程操纵GPIO时, 主要有 BCM2835 C Library和Wiring Pi两种, 其中, Wiring Pi 的API函数封装基本与Arduino的相同, 使用更广泛, 也更容易上手.
sudo apt-get install git-core
如果出现错误, 可以先升级下Raspbian
sudo apt-get update
sudo apt-get upgrade
②使用GIT安装WiringPi
git clone git:
然后编译安装
cd wiringPi
但是我的git那里出错了:
Cloning into ‘wiringPi’…
fatal: unable to connect to git.drogon.net:
git.drogon.net: Name or service not known
作者给出的解释是
the most likely cause is that your work/school/college/university/palace firewall is blocking GIT. A lot do for some reason.
大概是GIT被防火墙屏蔽了, 然后作者建议使用Plan B:
下载最新版, 然后
tar xfz wiringPi-98bcb20.tar.gz
cd wiringPi-98bcb20
有些麻烦, 没用它, 在stackoverflow上发现用 https:// 代替 git:// 效果不错, 于是在GitHub上找到WiringPi的地址:
然后使用以下命令下载到当前目录(/home/pi):
git clone https:
下载完后, 切换到WiringPi文件夹:
cd WiringPi
运行build脚本自动编译安装:
完成后会给出提示:
NOTE: To compile programs with wiringPi, you need to add:
-lwiringPi
to your compile line(s) To use the Gertboard, MaxDetect, etc.
code (the devLib), you need to also add:
-lwiringPiDev
to your compile line(s).
③测试WiringPi的安装
输入命令 gpio -v 查看版本信息:
输入命令 gpio readall 读取所有的GPIO的状态:
这个图很有用, 当我们对GPIO编程时, 可以查看对应的引脚编号.
Blink is the “Hello World” of the microcontroller world.
参考上面使用 gpio readall 命令读出的引脚图wPi一栏, 我们接树莓派wPi编号的0到LED的正极, LED的负极通过一个1kΩ的电阻连接到GND:
②编写程序
我们把路径切换到桌面, 新建一个Blink的文件夹, 然后切换到Blink文件夹新建一个blink.c的文件:
cd /home/pi/Desktop
mkdir Blink
sudo nano blink.c
写入以下代码:
#include &stdio.h&
#include &wiringPi.h&
#define LED 0
int main (void)
printf ("Raspberry Pi - Gertboard Blink\n") ;
wiringPiSetup () ;
pinMode (LED, OUTPUT) ;
digitalWrite (LED, 1) ;
delay (500) ;
digitalWrite (LED, 0) ;
delay (500) ;
return 0 ;
按下Ctrl + X 离开, 按下Y写入, 回车, 然后输入命令编译:
gcc blink.c -o myBlink -lwiringPi
表示gcc使用wiringPi编译源文件blink.c, 输出到文件myBlink.
sudo ./myBlink
运行当前路径下的myBlink文件. 这时, 可以看到终端打印出 Raspberry Pi - Gertboard Blink 并且LED闪烁.
如果想结束程序运行, 按下Ctrl+C即可, 不过注意树莓派的引脚电平保持在我们离开的那一刻而不是恢复默认, 这是上面的一个程序中不尽如人意的地方. 使用C时不太清楚, 使用Python编程时, 可以很方便的捕获键盘异常, 然后退出时清除所有的GPIO配置.
本文转载自 weifengdq的专栏 , 原文链接: , 转载请保留本声明!
每一个你不满意的现在,都有一个你没有努力的曾经。
Copyright (C) 2015&&
&&Powered by&控制Arduino板子上的LDE灯(数字引脚)
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
控制Arduino板子上的LDE灯(数字引脚)
  通过多次上机操作之后,可以更加深入的了解Arduino。(PS:昨晚以为我的六足机器人改装4足机器人计划快完成了,想不到弄到半夜3点多后来还是功亏于溃!昨晚把六足机器人改装成四足机器人后,想更美化机器人,随之把电源接口换成金属电源接口,上电之后把Arduino上的ATMEGA328芯片和一块32路舵机控制板给烧坏了,在短短的几秒时间里直接经济损失几百蚊。崩溃啊。)
void digitalWrite
写数字引脚 - digitalWrite
写数字引脚, 对应引脚的高低电平. 在写引脚之前, 需要将引脚设置为OUTPUT模式.
HIGH 或 LOW
int ledPin = 13;&&&&&&&&&&&&&&&&
&&(ledPin, );&&&&&&
&&(ledPin, );&&
&&delay(1000);&&&&&&&&&&&&&&&&&&
&&(ledPin, );&&&&
&&delay(1000);&&&&&&&&&&&&&&&&&&
注解: 模拟引脚也可以当作数字引脚使用, 编号为14(对应模拟引脚0)到19(对应模拟引脚5). 示例: 、、、、、、、、、、及.
在文件第行定义。(宏文件里面的语言格式)
void (uint8_t pin, uint8_t val) //写入数字管脚格式
00080&&&& uint8_t timer = digitalPinToTimer(pin);
00081&&&& uint8_t
= digitalPinToBitMask(pin);
00082&&&& uint8_t port = digitalPinToPort(pin);
00083&&&& volatile uint8_t *
00085&&&& if (port == NOT_A_PIN) return;
00089&&&& if (timer != NOT_ON_TIMER) turnOffPWM(timer);&
00091&&&& out = portOutputRegister(port);&&&&&&&&&&&&&&&&&&&&&&&&&&& &
00093&&&& if (val == ) *out &= ~
00094&&&& else *out |=
int (uint8_t pin)& //读取数字引脚格式
00099&&&& uint8_t timer = digitalPinToTimer(pin);
00100&&&& uint8_t
= digitalPinToBitMask(pin);
00101&&&& uint8_t port = digitalPinToPort(pin);
00103&&&& if (port == NOT_A_PIN) return ;
00107&&&& if (timer != NOT_ON_TIMER) turnOffPWM(timer);&
00109&&&& if (*portInputRegister(port) & bit) return ;&&&&&& //
00110&&&& return ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved用面包板自制Arduino
前言:各个Arduino产品其实都是对Arduino最小系统的各种功能扩展与集成,万变不离其宗,如果自己会做Arduino最小系统了,就可以很方便地定制出特殊功能的专用Arduino。另外,相信通过这篇文章,大家也会改变“Arduino就是买来的一块控制板”的印象。
我们就用市面上最常见的ATmega8芯片来介绍怎样自己搭建一个最小系统。先来看一下芯片实物图(见图1),这是一个标准DIP封装的ATmega8。
图1&DIP封装的ATmega8
&&&&然后我们再看一下DIP封装的ATmega8芯片的引脚图(见图2),每个引脚对应的是Arduino的哪个端口,图上也已经标出。
图2&ATmega8芯片引脚及与Arduino端口的对应关系
中标:硬件连接
一个最小系统,我们只需要一个16MHz晶体振荡器与两个22pF电容,按照如图3所示的样子连接9、10引脚即可,大家可以参照在面包板上的实物连接来看。
最小系统的硬件部分其实就这么简单,但是Arduino之所以叫做Arduino,并不单单是硬件,一定要有配套的软件,我们现在就用Arduino&1.0.1&IDE把Bootloader下载进这个最小的硬件系统。
图3&Arduino最小系统连接方法
中标:通过下载器下载程序
&&&&下载器使用USBTINYISP,ICSP接口的1号口接D12,3号口接D13,5号口接RESET,2号口接VCC,3号口接D11,6号口接GND,如图4所示。
图4&Arduino最小系统与USBTINYISP下载器连接
&&&&先把USB线接上,给USBTINYISP安装驱动后,我们点击进入Arduino&1.0.1&IDE,“板卡”选择“Arduino&NG&or&older&w/ATmega8”,“编程器”选择USBTINYSIP,点击“烧写Bootloader”,就可以看到下载器的BUSY灯开始亮,过不到1分钟后,Bootloader就下载好了,如图5所示。
图5下载Bootloader
&&&&然后我们打开官方例子里的BLINK代码,如图6所示,也就是让D13引脚输出1s高电平,然后输出1s低电平,循环往复,如果D13引脚接上一个LED,就会有闪烁的效果。
图6&打开官方例子里的BLINK代码
&&&&这里很关键,编译程序后,选择“文件”里的“使用编程器下载”,如图7所示。下载好以后,给D13引脚接上一个LED,就可以看到LED在闪烁了。
图7编译程序后,选择&“使用编程器下载”
中标:通过串口下载程序
&&&&除了使用编程器下载,我们也可以对下载好Bootloader的最小系统通过串口下载,但是因为面包板电路的电器环境比较差,无法使用高速通信的Bootloader,所以如果要进行下面的最小系统实验,我们需要更换0022版本的IDE。
&&&&首先,按照上面的步骤重新给ATmega8芯片刷0022&IDE的Arduino&NG控制板的Bootloader(此Bootloader速度慢一些,但是容易实现手工复位下载程序)。
&&&&我们给D13引脚串联一个220Ω的电阻和一颗LED(用作指示灯);给RST引脚串联一个10kΩ电阻,接VCC;同时再给RST引脚接一个按钮,按钮另一端接GND,用来做手工复位。实物连接如图8所示。
图8&在面包板上连接电阻、LED和按钮
&&&&然后,我们把USB&TO&TTL的VCC接最小系统面包板上的VCC,GND接GND,TX接D0,RX接D1,如图9所示。
图9&Arduino最小系统与USB&TO&TTL连接
&&&&运行Arduino&0022&IDE,“板卡”选择“Arduino&NG&or&older&w/ATmega8”,选好识别出来的端口号,同样选择BLINK程序例子,编译,下载。
请注意,下载时有一个最关键的步骤,那就是在点击下载按钮后(见图10),要立刻手工按一下面包板上的复位按钮,程序才可以正常下载。下载好以后,我们就可以看到LED在闪烁了。
Arduino最小系统只是一个系统运行的最低要求,其他可以根据自己的实际需要进行扩展,做出来自己个性化的Arduino。
图10&点击下载按钮后,要立刻按一下面包板上的复位按钮,程序才可以正常下载
(原文详见——《无线电》第08期)
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&

我要回帖

更多关于 芯片引脚 的文章

 

随机推荐