课程大纲
STM32 ES8266上阿里云IOT MQTT实践【第一章】:物联网简介(什么是物联网)
STM32 ES8266上阿里云IOT MQTT实践【第二章】:物联网十大应用场景
STM32 ES8266上阿里云IOT MQTT实践【第三章】:什么是MCU?
STM32 ES8266上阿里云IOT MQTT实践【第四章】:MCU的应用范围
STM32 ES8266上阿里云IOT MQTT实践【第五章】:我们要怎么入门MCU开发?
STM32 ES8266上阿里云IOT MQTT实践【第六章】:如何使用STM32Cube MX进行STM32的快速开发
STM32 ES8266上阿里云IOT MQTT实践【第七章】:ESP8266+MQTT上阿里云物联网平台实践(附源码)
STM32CubeMX通过ESP8266 AT指令MQTT上阿里云物联网平台实践源代码
5. 我们要怎么入门MCU开发?
5.1 学习兴趣
俗话说的好,兴趣是最好的老师。
5.2 电子电路基础
数字电路
单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增
模拟电路
模拟电路是电子技术最基础的学科,她让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。一般是先学习模拟电路再去学习数字电路。扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠,提高产品质量。
5.3 C语言基础
C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用他们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。
#include <stdio.h>
int main()
{
//变量
int i = 0;
int j = 1;
/* 顺序结构 */
printf("Hello, World! \n");
printf("Hello, Everyone! %d\n",j);
/* 分支 */
if( 0==i )
{
printf("i等于0! \n");
}else
{
printf("i不等于0! \n");
}
switch(i){
case 0:
printf("i等于0! \n");
break;
case 1:
printf("i等于1! \n");
break;
default:
printf("都不是执行这个! \n");
break;
}
/* 循环 */
for( ; ; )
{
printf("该循环会永远执行下去!\n");
}
while(condition)
{
statement(s);
}
do
{
statement(s);
}while( condition );
return 0;
}
/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2)
{
/* 局部变量声明 */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
5.4 学习路线
GPIO:就是学习单片机引脚的控制方法,将引脚配置输入或者输出,比如说:点亮发光二极管、控制蜂鸣器发声、控制继电器吸合、控制按键输入、点亮数码管等;
定时器:学习单片机的片上资源timer,学习如何配置timer,如何设置初值,比如说:发光二极管定时闪烁、数码管显示的数值定时自加等;
UART:学习单片机的UART功能,学习RS232通讯,比如说:单片机发送字符用串口调试助手在电脑上显示;
IIC:学习IIC通讯,比如说用AT24Cxx系列实现数值的掉电保存功能;
AD采样:学习模数转换知识,比如说:调节滑动变阻器,改变所采集的电压,实时显示此时的电压;
之后就可以开始学习SPI,USB, 液晶屏、点阵、外部中断、D/A等外设。
5.5 推荐学习资源
开源电子网:http://www.openedv.com/
野火论坛:https://www.firebbs.cn/forum.php