一  介绍

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开发板学习相关推荐

  1. 用stm32开发时是直接买现成的开发板还是芯片?开发板学习,芯片硬件设计

    视情况而言,买开发板用于评估和学习,然后买芯片做硬件设计 开发板 开发板上手即可使用,并附带很多模块. 拿到开发板后即可直接根据开发板提供的原理图进行程序编写,学习. 优点:简单快捷,上手快,拿到手就 ...

  2. 海思SD3403开发板学习(二)

    海思SD3403开发板学习系列:二 配置基础环境 文章目录 海思SD3403开发板学习系列:二 配置基础环境 前言 一.交叉编译工具安装 1. 工具链名 1. 安装 二.NFS挂载 1.安装NFS 2 ...

  3. 【STM32 .Net MF开发板学习-02】GPIO测试

    前段时间我借用市面上现成的Corex-M3开发板,打造了最低价的.Net Micro Framework开发板(参见<免费发放firmwave,打造史上最低价.Net MF开发板>),在此 ...

  4. 阿里云HaaS100物联网开发板学习笔记(六)做个智能灯---一个完整的开发例子

    摘要:本篇文章将前期几个专题综合起来,基于阿里云HaaS100的新固件设计制作一个智能灯.这个智能灯由云平台.手机APP端和设备端组成,基本上涵盖了一个物联网小项目所需的主要步骤. 目录 1.在阿里云 ...

  5. 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来

    摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...

  6. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

  7. 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来

    摘要:能让JavaScript应用运行在haas100开发板上,这实在是太酷了,这种方式被阿里云称之为"轻应用".本文带各位从零开始,先了解啥是轻应用,然后搭建环境,再一步步将一个 ...

  8. 海思SD3403开发板学习(三)

    海思SD3403开发板学习系列:三 CANN和MindStudio安装 文章目录 海思SD3403开发板学习系列:三 CANN和MindStudio安装 前言 一.CANN安装 1.安装依赖项 2.C ...

  9. 海思SD3403开发板学习(五)

    海思SD3403开发板学习系列:五 模型初始化与反初始化 文章目录 海思SD3403开发板学习系列:五 模型初始化与反初始化 前言 一.初始化 二.反初始化 前言 本文使用yolox模型进行目标检测任 ...

最新文章

  1. linux驱动编程入门实例
  2. 关闭 定时开启_【话说定时器系列】之四:STM32定时器更新事件及案例分享
  3. 【Foundation Frame】NSDictionary/NSMutableDictionary
  4. 《SolidWorks 2016中文版机械设计从入门到精通》——第1章 认识SolidWorks1.1 SolidWorks概述...
  5. 开源心得:一个Ubuntu用户的使用体悟
  6. 144. Binary Tree Preorder Traversal 二叉树的前序遍历
  7. Linux串口编程_termios
  8. ROS launch文档介绍
  9. linux c url下载文件,OpenCV教程之使用cmake生成MakeFile时下载文件
  10. .NET环境下几种不同的邮件发送解决方案
  11. 无人机在高楼区做倾斜摄影的地籍建模项目报告
  12. php当前页面删除处理,php删除记录同时刷新当前页面的实现代码
  13. 【保证能用】Ubuntu创建一个正常权限的用户
  14. ThinkPad Tablet2升级Windows10(各种故障及解决方案)
  15. Xiph.Org基金会 —— 多媒体开源的先锋
  16. 2018.3.4 st
  17. HttpResponse 417
  18. js+php+mysql写的rpg网页游戏引擎源码-DotK改进版
  19. java中级程序员面试
  20. 【.NET】IQueryable扩展方法实现复杂查询条件

热门文章

  1. 网络工程实训综合测验(eNSP)
  2. Web登录其实没那么简单
  3. Recsys2021 | 推荐系统论文整理和导读
  4. 2021年双非通信方向的详细保研经历(北邮、上交、东南)
  5. 2020-10-22在线识图搜索引擎
  6. React基础学习笔记(一)-react前端项目的两种搭建方式
  7. sql查询没有选修课程编号为’3’的学员姓名和所属单位
  8. 解析C语言中数据在内存中的存储
  9. unbuntu安装git
  10. 生鲜行业B2B交易管理系统:助力企业一体化管理,促进生鲜企业线上线下融合