stm32f103rbt6开发板学习
一 介绍
ARM:
A R M
STM32 CORTEX-A53
M: 应用于嵌入式工控领域,以单片机的价格实现32bit的性能
A:应用在高大上的领域, 性能强悍。音视频的处理,AI。
R:应用在实时性较强的领域。
物联网 IoT 嵌入式
嵌入式开发模式:
编辑 在PC机上编辑程序
交叉编译
编译结果放在开发板上执行
HOST ----> TARGET
usb
RS232
Network
嵌入式开发的难度:
1. C语言基本功
2. 嵌入式环境的搭建
3. 软硬件相结合的:
a) 能够看懂电路原理图
b) 读懂数据手册(英文)
c) 接口 GPIO IIC UART SPI USB.....
二 C语言
1 编写头文件
头文件卫士 ---》 防止文件的重复包含
#ifndef 宏
#define 宏
文件的包含
结构体
函数的声明
变量的声明
宏定义
类型的定义 (结构体 联合 枚举)
#endif
变量 的声明和定义的区别?
变量的声明 ---》 变量作用域的扩充,变量的声明不会分配空间
变量的定义是要为变量分配空间的!内存
int var = 300; //定义
extern int var; //声明
数据类型的定义:
什么是数据类型?
void int char short float double long bool struct union * .....
其实,计算机中没有数据类型,说白了,就是访问内存和这种规则的相关操作!
注意: void 和无类型是两种概念。无类型只关注地址。
指针就是地址,地址就是编号
数组也是一种数据类型 int arr[3];
函数也是一种数据类型 int add (int x, int y);
为数据类型起别名:
1. 声明类型的变量
int count_t;
2. 在第一步的基础上,前边加上typedef,原来的变量或常量就是原来数据类型的别名
typedef int count_t;
3. 使用类型的别名去命名新变量
count_t var; var 是count_t, 是int类型。
int arr_t [3];
arr_t 是常量 int [3] 是类型
typedef int arr_t[3];
arr_t a = {1,2,3}; === int a[3] = {1,2,3};
arr_t b[2]; b 是二维数组
b[0] ----> b[1]
b + 1 ---> 看b的数据类型, 加了12个字节
b[0][0] ---> b[0][1]
b[0] +1 ---> 加了4个字节
char * str_t;
typedef char *str_t;
str_t a,b; ==== char *a,b;
int fun_t (int x, int y);
typedef int fun_t (int x, int y);
fun_t *p;
int (* func_t) (int x, int y);
typdef int (* func_t) (int x, int y);
func_t p; //和上面的p是等价的
struct node {
int data;
struct node next;
struct node *next;
};
搭建嵌入式开发环境
百度网盘
物联网的智能设备
物联网框架
IoT
嵌入式:
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、功耗、体积、成本严格要求的专用计算机系统。
嵌入式是物联网的保障和基座,
物联网是基于嵌入式系统的应用程序的处理和分析。
物联网层次
开发板
了解芯片 SOC(高端芯片) MCU (单片机芯片) 都可以组成自己的微型计算机
STM32F103RBT6 = CPU +内存 + 硬盘 + 外设
内存 用来支持运行程序
硬盘 存储烧写程序
外设 程序员通过外设来操作芯片
stm32f103rbt6开发板学习相关推荐
- 用stm32开发时是直接买现成的开发板还是芯片?开发板学习,芯片硬件设计
视情况而言,买开发板用于评估和学习,然后买芯片做硬件设计 开发板 开发板上手即可使用,并附带很多模块. 拿到开发板后即可直接根据开发板提供的原理图进行程序编写,学习. 优点:简单快捷,上手快,拿到手就 ...
- 海思SD3403开发板学习(二)
海思SD3403开发板学习系列:二 配置基础环境 文章目录 海思SD3403开发板学习系列:二 配置基础环境 前言 一.交叉编译工具安装 1. 工具链名 1. 安装 二.NFS挂载 1.安装NFS 2 ...
- 【STM32 .Net MF开发板学习-02】GPIO测试
前段时间我借用市面上现成的Corex-M3开发板,打造了最低价的.Net Micro Framework开发板(参见<免费发放firmwave,打造史上最低价.Net MF开发板>),在此 ...
- 阿里云HaaS100物联网开发板学习笔记(六)做个智能灯---一个完整的开发例子
摘要:本篇文章将前期几个专题综合起来,基于阿里云HaaS100的新固件设计制作一个智能灯.这个智能灯由云平台.手机APP端和设备端组成,基本上涵盖了一个物联网小项目所需的主要步骤. 目录 1.在阿里云 ...
- 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来
摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...
- 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台
摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...
- 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来
摘要:能让JavaScript应用运行在haas100开发板上,这实在是太酷了,这种方式被阿里云称之为"轻应用".本文带各位从零开始,先了解啥是轻应用,然后搭建环境,再一步步将一个 ...
- 海思SD3403开发板学习(三)
海思SD3403开发板学习系列:三 CANN和MindStudio安装 文章目录 海思SD3403开发板学习系列:三 CANN和MindStudio安装 前言 一.CANN安装 1.安装依赖项 2.C ...
- 海思SD3403开发板学习(五)
海思SD3403开发板学习系列:五 模型初始化与反初始化 文章目录 海思SD3403开发板学习系列:五 模型初始化与反初始化 前言 一.初始化 二.反初始化 前言 本文使用yolox模型进行目标检测任 ...
最新文章
- linux驱动编程入门实例
- 关闭 定时开启_【话说定时器系列】之四:STM32定时器更新事件及案例分享
- 【Foundation Frame】NSDictionary/NSMutableDictionary
- 《SolidWorks 2016中文版机械设计从入门到精通》——第1章 认识SolidWorks1.1 SolidWorks概述...
- 开源心得:一个Ubuntu用户的使用体悟
- 144. Binary Tree Preorder Traversal 二叉树的前序遍历
- Linux串口编程_termios
- ROS launch文档介绍
- linux c url下载文件,OpenCV教程之使用cmake生成MakeFile时下载文件
- .NET环境下几种不同的邮件发送解决方案
- 无人机在高楼区做倾斜摄影的地籍建模项目报告
- php当前页面删除处理,php删除记录同时刷新当前页面的实现代码
- 【保证能用】Ubuntu创建一个正常权限的用户
- ThinkPad Tablet2升级Windows10(各种故障及解决方案)
- Xiph.Org基金会 —— 多媒体开源的先锋
- 2018.3.4 st
- HttpResponse 417
- js+php+mysql写的rpg网页游戏引擎源码-DotK改进版
- java中级程序员面试
- 【.NET】IQueryable扩展方法实现复杂查询条件