1、stm32f103 裸板开发:
1.1 库开发
硬件篇
cortex-M3 采用 ARM v7 构架
超低价格 8位价格 32位
超多外设 TIMER IIC SPI USB CAN IIS SDIO ADC DAC RTC DMA
资源总结:
stm32f103芯片 3个按键 复位按键 电源指示灯 ad/da 组合接口
ATK 模块(蓝牙模块) 3.3v 电源输出 5v电源输出 电源开关
24电源输出
RS485 选择接口 SP3485
串口通讯的代码
引出IO LCD 接口 光敏传感器
CAN总线 TJA1050
wireless 无线模块接口
W25Q128 (spi 通讯存储芯片)
usb
jtag swd
24C02 eeprom
USB 转窗口
camera
蜂鸣器 红外接收头 2个LED 触摸按钮
DS18B20 温控
软件篇
芯片IO 资源分配表
SRAM FLASH
ROM中所存数据稳定,一旦存储数据就再也无法将之改变或者删除,断电后所存数据也不会消失。其结构简单,因而常用于存储各种固化程序和数据。
在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、‘const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中的BIOS,一些低端的单片机是没有这个的)通通都存储在ROM中。
RAM又称随机存取存储器,存储单元的内容可按照需要随机取出或存入,且存取的速度与存储单元的位置无关。这种存储器在断电时,将丢失其存储内容,所以主要用于存储短时间使用的程序。
它主要用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量(包括全局变量、局部变量、堆栈段等),都存储在RAM中。
复位电路
ST 为了方便用户开发程序 提供了 一套丰富的 STM32 固件库。 P0 = 0X11; GPIOx->BRR = 0x0011;
实时内核定时器 CPU NVIC
外设寄存器 和 中断向量定义层
内核外设函数 中间件函数 器件外设函数
实时内核 中间件
systemInit 初始化
GPID_RestBits 准寻给CMSSI 规范
外设寄存器 和 中断向量定义层
M3 的啮合入口 core_cm3.h core_cm3.c
stm32f10x.h 宏定义 系统寄存器 以及 包装内存的操作。
systeminit() 函数 在我们系统启动的时候都会调用
用来设置系统的整个时钟系统。
1.GPIO 输出
2.GPIO 输入
3.串口模块 中断
4.定时器 中断
5.PWM 输出 风扇 占空比
6.ADC DAC
7.IIC 365
IIC 2线制 串行总线 SDA SCL
开始信号 结束信号 应答信号
开始信号: SCL 高电平 SDA 由高到低 开始传输数据
结束信号 :SCL 高电平 SDA 由低到高 结束传送数据
应答信号: IC
8.SPI 376
串行外围设备接口
4线通行
MISO
MOSI
SCLK
CS
可以同时 发出 和 接收串行数据