day01 开始

一、介绍

        夏培肃 造计算机第一代

        李国杰  黄令仪 

        胡伟武 

        刘阳  

        底层         应用层   APP

        金庸:内练一口气  外练筋骨皮
        内功    外功

        操作系统       BIOS     3w     
        操作系统原理   计算机原理      

        STM32    

        100 

        30   70  

        上午:上课时间 9:00 ~10:30     11:00~ 12:00 
        下午: 上课时间 2:00 ~3:30      4:00  ~   5:00 

        ARM:  A    R    M

        STM32  CORTEX-A53

        M: 应用于嵌入式工控领域,以单片机的价格实现32bit的性能
        A:应用在高大上的领域, 性能强悍。音视频的处理,AI。
        R:应用在实时性较强的领域。

        物联网   IoT  嵌入式  of 

        嵌入式开发模式:
            编辑    在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;
    };


三、搭建开发环境

    参见 百度网盘

四、物联网的智能设备

    4.1 物联网框架
    IoT 
    嵌入式:
        嵌入式系统是以应用为中心,以计算机技术为基础,
        软硬件可剪裁,适应应用系统对功能,功耗,体积,
        成本严格要求的专用计算机系统。
        
    嵌入式是物联网的保障和基座,
    物联网是基于嵌入式系统的应用程序的处理和分析。
    
    物联网层次
    参见图 物联网层次图
    

五、介绍开发板

     了解芯片  SOC(高端芯片) MCU(单片机芯片),
     都可以组成自己的微型计算机
     STM32F103RBT6  = CPU + 内存 + 硬盘 + 外设
     内存 用来支持运行程序
     硬盘 存储烧写的程序
     外设 程序员通用外设来操作芯片

你可能感兴趣的:(STM32F103RBT6,stm32,arm)