物联网嵌入式

day03笔记

一、不管是MCU还是SOC都可以构成一个微型计算机系统

STM32F103RBT6=CPU+内存+硬盘+外设

startup_stm32f10x_md.s        维护了cpu的异常向量表

二 、回顾c语言

1、变量的声明和定义 

int  var;//声明

int var=2020;//定义

2、 计算机中没有数据类型:数据类型说白了就是计算机访问内存的一种规则,以及这种规则需要遵循的方式

3、指针就是地址,地址就是编号。指针也是一种数据类型。

SRAM        静态内存  cpu内部        cache :64KB  32M        缓存

DRAM        动态内存  cpu外部

四、cpu通过总线与外设通信

1、什么是总线:

(1)冯诺依曼体系结构:取指令和取数据用同一根总线

(2)哈弗体系结构板:取指令和取数据用不同的总线

cpu从内存中取指令

2、计算机体系结构中根据功能不同,划分出三种不同总线,简称三总线

控制总线:控制传输时序

数据总线:传输数据

地址总线:传输地址

在stm32中:

        系统内部的高速总线:AHB(AHB1    AHB2)

        外设总线:APB(APB1   APB2)

注:由于在stm32中,cpu是通过APB1  APB2和外设通信的,所以将来想要驱动某个外设时,首先需要通过APB1或APB2使能改组时钟

五、GPIO管脚资源

1、STM32F103RBT6开发板上有5组GPIO管脚,每组有16个管脚。

2、管脚复用:

对于一个GPIO管脚而言,最多可以有8种功能

(1)输入功能:

a、上拉输入:默认状态下,管脚上呈高电平。

b、下拉输入:默认状态下,管脚上呈低电平。

c、浮空输入:默认状态下,管脚上电平状态不确定。

(2)输出功能

a、开漏输出:管脚上只能输出低电平,不能输出高电平

b、推挽输出:既能输出高电平,也能输出低电平。

(3)复用功能

a、开漏复用

b、推挽复用

(4)模拟功能:输入模拟功能

输入相当于检测,输出相当于控制!

六、点灯大法

1、粗看看硬件:看看开发板上有没有对应硬件

2、细看看电路原理图:看明白电路原理图

led本质上就是发光二极管,二极管具有单向导通性,电流只能由阳极流向阴极

led灯阴极接地,只需要控制led阳极输出高低电平就可以控制灯的亮灭

3、驱动LED灯的亮灭
    
        3.1 通过APB2总线是能C组的时钟
        
        3.2 pc1/2/3管脚输出高低电平 
                
        管脚初始化推挽输出
        
        3.3 实现的接口 
        int main (void) {
            //硬件的初始化
            while (1) {
                //业务逻辑
                }
                   }

        3.4 实验步骤
            a) copy一份 01test的目录, 到day03下面,重命名为02led 
            
            b) 在02led的mylib中, 新建两个文件, led.c led.h 
            
            c) 打开02led的project目录下, 打开02led的项目工程, 双击mylib, 将b) 中
                新建的led.c填到mylib中
                
            d) 双击fwlib, 将固件库中的stm32f10x_gpio.c 添加到fwlib中
            
            e) 开始写代码
            
            f) 点击第三行菜单栏的“魔法棒”, ---》点击“debug” ---》 点击“settings” ---> 
                只要存在“IDCODE” ---> 证明上位机已经识别到下位机了 ----》 点击“download”
                ---》 观察实验现象

        置位 ----> 1----> 高电平
        清0  ----> 0----> 低电平

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值