自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小灰笔记

学习笔记,仅用于自我参考回忆!

  • 博客(19)
  • 收藏
  • 关注

原创 104_Arduino IIC功能探索

之前没有用过IIC,网上查了一下只有两根线:一根时钟信号、一根数据线。按照管脚映射图,找到了相应的管脚资源。 实际使用中,应该是AD5、AD4两个管脚,按照AD找相对来说好找一点。 测试使用代码如下:#include <Wire.h>void setup(){ Wire.begin(8); // join...

2019-04-24 22:10:37 1567 1

原创 103_Arduino EEPROM读写测试

看了一下Arduino的EEPROM库,还是很简单的。功能比较全,针对最常用的读写功能我做一下测试。 以下是说明文档中的一部分: 我用的Arduino是328PB,因此应该是1024字节的EEPROM。看着这个寿命,应该是FLASH模拟的EEPROM了。 针对读写功能测试,我自己设计的测试程序主要功能:根据一个不断变...

2019-04-23 20:11:47 3657 3

原创 102_Arduino AD功能

测试了一下Arduino的AD功能,不同于我之前用过的自己设计的产品,还需要自己去开发很多驱动,Arduino的风格很明显——开箱即用! 先看一下相应的资源分配: 我手头的板子中有6路AD。 尝试实现相应的代码:const int arduino_ad_pin0 = 0;const int arduino_a...

2019-04-23 07:57:37 3377

原创 101_Aduino上SPI功能的使用

使用之前还是有点担心难度稍微高一点,一晚上搞不定。但是,实际尝试下来不得不给Arduino点个赞,库开发的确实是比较成熟。 首先确认了硬件资源的使用: 实践中发现,其实片选的资源相对来说是灵活的,只需要是GPIO即可。实际的测试中,至少Arduino的库中片选并不是自动控制的。 核心代码如下: #include <avr/...

2019-04-22 22:58:13 1243

原创 100_Arduino SPI功能探索

之前就知道有这个功能,因为看到了有这个库。当时没有看芯片手册,感觉这个SPI的实现也有可能是直接拿GPIO来模拟的,毕竟AVR单片机在我之前的人之中就是简单的小芯片。 后来看了下芯片手册,首先便是确认了这个SPI功能的存在。 从手册看,芯片有2路SPI。值得注意的一个参数是双倍速度,主模式可以达到8MHZ(一半的时钟速度,最大16M)。...

2019-04-21 12:26:20 2295

原创 099_Arduino延时控制

这个功能应该主要是用到time的库,具体的功能有: 前面两个是计数器,后面两个是延时的函数,第一个单位是毫秒,第二个单位是微秒。前面两个已经测试过了,后面的这个或许可以这么测试:初始化串口,打印一个数字; 使用两个延时,通过串口监控上的时间戳做一下对比。 可以测试多个时间间隔。测试代码1:void setup(){ // put ...

2019-04-20 21:50:22 10870

原创 098_使用Arduino实现hello world

其实,现在我用Arduino已经实现了更加复杂的功能,更不用说这个简单的小测试。只是最初自己尝试写下的TDL中还有一个Hello World的小项目。 实现一个最简单的hello world输出,很简单的一个方法就是使用串口打印了。 设计代码如下:void setup(){ // put your setup code he...

2019-04-20 21:21:04 1159

原创 097_再次尝试Arduino串口

再次谈一下串口,主要是因为前面遇到了一个小问题。现在,这个问题早已经解决,但是还是觉得可以总结整理一下。 我遇到的主要问题是:我把串口的功能分离到了一个独立的文件之后,发现串口对象无法使用了。 在描述问题之前,先看看最简单的串口使用方式:void setup(){ // put your setup code here,...

2019-04-20 21:02:54 616

原创 096_Arduino一个简单的任务调度实现

使用了前面实现的定时器中断ISR实现了简单的调度,这个调度自然不是很好,因为不能够充分利用MCU的性能。不过,做一个简单的测试还是可以的了。 前面已经实现了一个1ms的ISR,我增加了一个计数器,之后利用计数器的数值进行任务调度的实现。 主要的代码:ISR(TIMER1_COMPA_vect){ timer_isr_coun...

2019-04-19 22:46:12 1044

原创 095_Arduino基础数据类型探索

本来想自己构建一个通用的数据类型,接着做一个简单的测试。我构建了我自己的数据类型定义:#ifndef TYPEDEFS_H#define TYPEDEFS_Htypedef unsigned char uint8_t;typedef char int8_t;typedef unsigned short uint16_t;typedef short int16_t...

2019-04-19 20:48:42 764

原创 094_Arduino实现1ms的精准中断

按照前面整理出来的要点,尝试实现了一下一个定时器的准确中断。 代码如下:#include <avr/sleep.h>#include <SoftwareSerial.h>void TaskTimer_Init(void);void SerialCfg_Init(void);unsigned long counter_m...

2019-04-18 23:20:45 1059 2

原创 093_ATmega328PB的中断资源梳理并找出适合做调度用的定时器

前面已经找到了中断实现的大致方法,接下来我可以为我自己的定时中断的实现做一下准备了。一般做其他的单片机开发的时候,初期我通常会先实现这个一个功能好实现一点周期性的任务调度。这个功能在PowerPC平台就是PIT,在这里应该也是通过中断来实现了。 Atmega328PB的中断资源如下: 这个芯片一共有45个中断源,先不看啥功能,给人的感觉资源还是很丰富...

2019-04-18 21:59:25 1710 1

原创 092_Arduino的开发工具链研究

用了两天Arduino的IDE,还是有点弄不明白编译器以及链接器等不同的工具是如何调用的。简单看了下安装目录,前面几次没有看到所谓的编译器。 看了一下手册,其实这个编译器就是avr-gcc。目录太多,一时间没有找到。直接搜索了一下全目录的exe文件,找到了相应的目录: 总算是找到相应的工具了。 接下来,或许可以顺着这...

2019-04-18 20:52:05 514

原创 091_Arduino中断与定时器

看起来,还是有几个基于中断的计数器的。或许,可以根据这个做一个任务调度的调度器。先测试一下计数器:#include "SoftwareSerial.h"unsigned long counter_ms;unsigned long counter_us;void setup(){ // put your setup code here, to run once:...

2019-04-17 23:26:56 1094

原创 090_CH340串口驱动签名问题解决

最近在学习Arduino,当作自己工作之余的一个学习练手的机会。烧写程序用到了串口,自己从网上找了一个驱动,安装完之后发现依然用不了,查看设备管理看到设备上有一个叹号。 最初尝试了安全模式禁用数字签名,后来发现每次电脑重启之后就失效。 于是,换了一种方式,管理员模式下如下操作: 电脑重启,又是失败。...

2019-04-17 22:45:39 3941 8

原创 089_Arduino串口功能测试

之前接触Arduino的时候,仅仅是简单用了一下串口的打印输出功能,也没有认真去看。今天把文档看了一遍,还是挺有收获的。 我自己的测试代码如下,同时我还会梳理一下我在学习过程中遇到的一点小问题。#include "SoftwareSerial.h"// 创建一个串口对象,10号管脚用于接收,11号管脚用于发送。这个函数还有一个可选的参数,默认为fal...

2019-04-16 22:13:52 987

原创 088_Arduino自带LED等闪烁程序

这是一个自带的小例子,主要是为了熟悉一下整个环境以及工具。之前的Arduino没有用起来,接下来的一段时间练习提升一下。 在此,还是遇到了一点之前遇到的小障碍,需要安装串口驱动。不过,这次我安装不顺利,最终确认是我的电脑需要禁用数字签名。 Arduino的编辑器是可以直接使用VS Code的,显示效果: 编译烧写:...

2019-04-15 23:26:58 1364

原创 087_emacs设置空白显示

本来是想设置一个多余空白显示的,但是找到这个功能之后发现其实内置的这个功能是兼具空白显示功能的。 这个功能说起来我之前应该是需求不大,但是使用了一阵子spacemacs之后,对其中默认开始的高亮显示多余空白的功能给绑住了。但是,臃肿的spacemacs感觉在Windows上还是不如自己的配置方便。于是,就想在我自己的配置中增加这么一个功能。...

2019-04-12 21:50:36 815

原创 086_编辑器不根据扩展名识别代码语法

这是一个很有意思的功能,之前一直没有注意到。我是在一个视频中看到一个外国小哥用到了这个功能,一下子觉得,原来编辑器还可以这么用!接下来,以Notepad++和VSCode来做一个简单的演示。写一个txt文件如下:如果扩展名是txt的C代码,编辑器一般是不会显示语法提示的。之后的显示效果:同样的效果,使用VSCode配置出来如下:同样的方式...

2019-04-06 19:47:06 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除