
// CRC校验函数
uint16_t Modbus_CRC16(uint8_t *data, uint16_t length) {
uint16_t crc = 0xFFFF; 继续阅读“八十四:modbus-CRC”
一:代码容量
Code :是程序中代码所占字节大小
RO-data :程序中所定义的指令和常量大小
RW-data :程序中已初始化的变量大小
ZI-Data :程序中未初始化的变量大小 继续阅读“八十三,STM32积累一”
1,MPU6050是6轴的加速度陀螺仪芯片
1,低功耗模式简介
1,PWM简介
1,结构
1,ADC基本工作原理
1,can总线是特殊的IO才能配置使用
1,接线
1,步进电机基本原理
1,ASC取模
1,IIC总线接线
1,接线
1,初始化
1,RCC是复位和时钟设置功能,
1,rtc外部电池接线
1,串口的io
1,fiash相关的库函数
1,文件结构
1,基本电子知识
1,程序结构
单片机和云平台通讯是个很复杂的程序,也不容易理解,但是我们使用单片机的库函数来处理这些订阅发布,心跳包等一系列运算就可以很轻松实现通信目的.
1,复制库函数到工程里
1,在阿里云上创建一个产品,并用调试工具测试通讯.先注册阿里云账号
https://iot.console.aliyun.com/devices
2,在物联网平台里注册设备 继续阅读“四十三,阿里云MQTT创建与测试”
ESP8266与单片机通讯其实就是串口,只是很具有代表性,单独详细的说明一下,这样就算时间长了自己忘记了,看看笔记还能回想起来.
1,目标:通过WiFi控制LED和蜂鸣器. 继续阅读“四十二,esp8266代码讲解”
1,产品说明
1,蓝牙CC2541电路图
1,电路原理
1,RS485电路
1,定时器简介
1,外部中断
1,省电模式,本质是在用不到单片机内部功能的时候,使其为睡眠,停机,待机三种模式之一
1,电路
1,DHT11的介绍
DMA是直接寄存器访问功能,可以不经过ARM内核直接将绑定的功能获取的数据,读出到指定寄存器,减少ARM内核的工作量.
1,我们想要使用ADC功能来读取数据,先设置ADC转换速度 继续阅读“二十八,ADC,ADC的DMA多通道”
蜂鸣器和继电器
1,当配置好IO以后,第一步当然是在工程里添加驱动,可以复制别的工程类似驱动电路的代码,时间是有限的,不要什么代码都自己写,要学会CTRL+C,CTRL+V的编程. 继续阅读“二十六,蜂鸣器与继电器”
1,IDE的安装
1,RCC时钟简介
1,新建工程
红外编码说明:
1:红外编码我们常用的是NEC编码,用的是38khz载波的方式传播。都是一些波形怎么读取他的数据呢,这样先看他规定的位定义,就是0和1,NEC码的位定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。 继续阅读“十七,红外遥控器”
计步器是获得3轴加速度传感
器的数据进行判断,然后在液晶上自增累计。我们之前配置的QMA7985读id号和液晶显示驱动安排到一个工程里稍微修改一些就行。 继续阅读“十五,计步器”
图片如何转bin后缀文件
一,打开百度复制你要的图片 继续阅读“十四点一,图片转.bin文件”
为了显示图片,我们需要先制作一个340*240.bmp的图片,然后转成bin文件格式,这样才能存到片外存储里面。
因为中文和英文的字库加起来有好几万个字,占单片机内存太多,所以我们使用片外存储。需要把以前的液晶显示,spi通讯,串口的.c,.h文件添加到工程里。我们使用串口把字库发送到单片机保存在GD25Q64里面。
一;低功耗主要有两种方式:
1;空闲模式:系统不给CPU提供时钟,除了CPU以外一切外设正常运行。
空闲模式下外设工作正常,IO口保持进入空闲之前的正常状态。
2;掉电模式:时钟全部停止震荡。由内部供应时钟的外设全部关断。
此时可以通过外部中断、CCP中断、内部掉电唤醒计时器等方式唤醒。 继续阅读“十一,低功耗”
当单片机死机的时候,我们希望可以重启单片机,而看门狗就是可以在单片机死机的时候,自动重启。 继续阅读“十,看门狗”
内部EEPROM保存的数据可以在掉电的时候不丢失,配置内部EEPROM擦写对一些断电保存的参数比较有用,先在数据手册里看一下EEPROM的大小。
断电不丢数据的就是EEPROM了,有的会固定大小,这款是下载的时候可设置EEPROM大小。 继续阅读“九,内部EEPROM读,写,擦”
SPI通讯优点就是快,一般单片机运行频率都达不到他通讯最大速度,这样各步骤间延时就不要了,然后最低需要3个io,时钟(SCK),读取(MISO),发送(MOSI),时钟的上升沿读取数据,下降沿发送数据,这特么好神奇哦,一个时钟里,既可以发送一个位,也能接收一个位,呀,这就是全双工通讯啊!关键他还不需要发送起始与结束信号,即是攻也是受?哎哟,这不是就是变态嘛。标准名称:
(1)MISO– Master Input Slave Output,主设备数据输入,从设备数据输出;
(2)MOSI– Master Output Slave Input,主设备数据输出,从设备数据输入;
(3)SCLK – Serial Clock,时钟信号,由主设备产生;
(4)CS – Chip Select,从设备使能信号,由主设备控制。 继续阅读“七,spi通讯配置”
IIC是很常见的通讯,我们先学会模拟IIC通讯,用单片机和QMA7981通讯来详解, 继续阅读“六,IIC通讯配置”
ADC是单片机经常用到的功能,主要是数模转换,我们来配置ADC的使用。
一;ADC初始化,主要配置ADC的时钟和速度; 继续阅读“五,ADC的配置”
串口通信是单片机经常使用通讯方式,如果是单片机直接互相连接串口就行,如果是电脑连接单片机就需要USB转串口芯片配合使用才能与单片机通讯; 继续阅读“四,串口”
定时器和计数器其实一个寄存器配置,他们工作模式相同,都是对脉冲计数,不同的是脉冲来源不同,计数器是对外部脉冲计数,定时器是对内部时钟计数。
定时器/计数器0有4种工作模式:
模式0(16位自动重装载模式),
模式1(16位不可重装载模式),
模式2 (8位自动重装模式) ,
模式3 (不可屏蔽中断的16位自动重装载模式)。 继续阅读“三:定时器”
1: PWM其实是一个定时器,配置这些寄存器要注意,需要打开特殊功能寄存器的开关。 继续阅读“二:PWM配置”
学习单片机第一步就是点亮LED,常用3种IO控制方法。
一;按键检测查询法
1;头文件
#include “stc8g.h”
#include “intrins.h”
2;IO口位定义 继续阅读“一 按键与点灯”