stm32f0 大小端_STM32F0系列Cortex-M0原理与实践

本文深入探讨了STM32F0系列基于Cortex-M0处理器的原理和实践,包括从8位机过渡的优势、Cortex-M0的编程模型、存储器模型、异常模型以及电源管理。详细介绍了STM32F0的硬件特性和固件库的使用,涵盖GPIO、中断、USART、RTC、看门狗、定时器、ADC、DMA、SPI/I2S、I2C和CAN等外设的配置与应用,还涉及了实时操作系统RTX的应用和USB电源监测的设计。
摘要由CSDN通过智能技术生成

第1章 低成本单片机世界的入侵者——Cortex-M011.1 相比8位(16位)机为何要选择Cortex-M011.1.1 性能对比21.1.2 8位和16位体系结构的缺点31.1.3 Cortex的软件移植性31.2 如何从8位机过渡到Cortex-M041.3 编程模型71.3.1 处理器的模式71.3.2 堆栈81.3.3 内核寄存器81.4 存储器模型111.4.1 存储区、类型和属性121.4.2 存储器系统的存储器访问次序121.4.3 存储器访问的行为131.4.4 软件的存储器访问顺序131.5 异常模型141.6 电源管理191.7 指令集201.8 Cortex-M0内核外设231.9 STM32F0系列231.10 小结24第2章 开发软件准备252.1 MDK-ARM开发环境252.1.1 ?Vision4 IDE 概述252.1.2 编译、调试现有MDK工程262.1.3 创建一个Keil新项目272.2 仿真器362.2.1 ST-Link362.2.2 J-Link与U-Link2372.3 WinMerge372.4 小结39第3章 硬件基础403.1 STM32F0产品特征403.2 系统及存储器概述413.2.1 系统构架413.2.2 存储器组织423.2.3 启动配置423.3 电源控制(PWR)433.3.1 电源433.3.2 电源管理器443.3.3 低功耗模式453.3.4 PWR固件库463.4 复位和时钟控制(RCC)463.4.1 复位463.4.2 时钟473.4.3 低功耗模式513.5 RCC固件库523.6 硬件设计533.7 小结56第4章 STM32F0的固件库574.1 ARM的C语言574.1.1 嵌入式C语言的几个特殊之处574.1.2 寄存器访问方式总结594.1.3 struct字节对齐604.1.4 使用volatile624.1.5 RAM中运行程序624.1.6 软件结构644.2 CMSIS654.2.1 CMSIS主要构成654.2.2 使用CMSIS664.3 STM32F0xx标准外设库674.3.1 标准外设库概述674.3.2 STM32F0xx外设驱动文件说明684.3.3 STM32F0xx的CMSIS文件说明694.3.4 库文件夹说明704.3.5 固件库文件714.3.6 MDK ARM中使用固件库实例744.4 小结75第5章 通用I/O(GPIO)765.1 GPIO引脚与功能765.1.1 引脚描述765.1.2 GPIO功能描述775.1.3 通用I/O(GPIO)795.1.4 I/O引脚的复用功能和重映射795.1.5 外部中断/唤醒线805.1.6 输入配置805.1.7 输出配置805.1.8 复用功能配置805.1.9 模拟配置815.1.10 HSE或LSE引脚用作GPIO815.1.11 备份域供电下GPIO引脚的使用815.1.12 GPIO复用功能寄存器815.2 GPIO固件库835.3 GPIO应用实例845.4 小结87第6章 中断和事件886.1 嵌套向量中断控制器(NVIC)886.1.1 NVIC概述886.1.2 电平中断和脉冲中断906.2 中断和异常向量916.3 扩展中断和事件控制器(EXTI)936.3.1 框图936.3.2 事件管理946.3.3 功能说明946.3.4 外部和内部中断/事件线映像956.4 EXTI固件库966.5 EXTI中断实例966.6 HardFault异常调试实例986.7 小结99第7章 通用同步异步收发器(USART)1007.1 USART主要功能1007.2 STM32F0x的USART功能实现1017.3 USART功能描述1027.3.1 USART框图1027.3.2 USART字符描述1037.3.3 发送器1047.3.4 接收器1067.3.5 多机通信1107.3.6 Modbus通信1117.3.7 LIN(本地互联网络)模式1127.3.8 USART同步模式1137.3.9 单线半双工通信1147.3.10 RS-232硬件流控制和RS-485驱动使能1147.4 USART中断1167.5 USART固件库函数1177.6 基于USART实现的多个通信标准1217.7 接收不定长数据实例1237.8 小结125第8章 实时时钟(RTC)1268.1 主要特性1268.2 STM32F0的RTC功能实现1278.3 功能描述1278.3.1 RTC框图1278.3.2 被RTC控制的GPIO1288.3.3 时钟和预分频器1288.3.4 实时时钟和日历1288.3.5 可编程报警1298.3.6 RTC初始化及配置1298.3.7 读日历寄存器1308.3.8 复位过程1318.3.9 RTC同步1318.3.10 RTC参考时钟检测1318.3.11 RTC平滑数字校准1328.3.12 时间戳功能1328.3.13 侵入检测1328.3.14 校准时钟输出1338.3.15 报警输出1348.4 RTC低功耗模式1348.5 RTC中断1348.6 固件库1358.7 闹钟报警实例1378.8 小结141第9章 看门狗1429.1 STM32F0看门狗概述1429.2 独立看门狗(IWDG)1439.3 窗口看门狗(WWDG)1459.4 固件库1469.4.1 IWDG API1469.4.2 WWDG固件库1479.5 看门狗实例1489.6 小结149第10章 定时器15010.1 STM32F0定时器实现15010.2 功能描述15110.2.1 时基单元15210.2.2 计数器15310.2.3 时钟源15410.2.4 捕获/比较通道15510.2.5 输入捕获模式15610.2.6 强制输出模式15710.2.7 输出比较模式15710.2.8 PWM模式15810.2.9 互补输出和死区插入16010.2.10 使用刹车功能16110.2.11 产生六步PWM输出16210.2.12 编码器接口模式16310.3 固件库16410.4 SPWM实例16810.5 小结171第11章 模数转换器(ADC)17211.1 ADC主要特性17211.2 ADC功能描述17311.2.1 校准17411.2.2 ADC开关控制17411.2.3 ADC时钟17511.2.4 ADC配置17611.2.5 通道选择17611.2.6 转换模式17611.2.7 启动与停止转换17711.3 外部触发和触发极性17811.4 数据管理17911.5 低功耗特性18011.6 ADC中断18111.7 ADC固件库18111.8 STM32F05x(07x)的DAC与比较器18311.9 USB电压监测18411.10 小结186第12章 DMA控制18712.1 DMA主要特性18712.2 DMA功能描述18712.2.1 DMA原理18712.2.2 可编程的数据宽度、数据对齐方式和数据大小端19012.2.3 错误管理19012.2.4 中断19012.2.5 DMA请求映射19012.3 固件库19112.4 基于DMA的ADC采样19212.5 小结195第13章 串行外设接口/I2S音频(SPI/I2S)19613.1 简介19613.1.1 SPI主要特点19613.1.2 SPI/I2S具体功能实现19713.2 SPI功能描述19713.2.1 SPI框图19713.2.2 一主、一从通信19813.2.3 多从机通信20013.2.4 从机选择(NSS)的引脚管理20013.2.5 通信格式20113.2.6 SPI的初始化20213.2.7 数据发送和接收流程20213.2.8 状态标志20413.2.9 错误标志20413.3 SPI中断20513.4 SPI固件库20613.5 SPI相互通信实例20713.6 小结209第14章 I2C接口21014.1 I2C的主要特点21014.2 I2C功能描述21114.2.1 I2C1框图21114.2.2 I2C模式21214.2.3 I2C的初始化21214.2.4 数据收发21314.2.5 I2C从机模式21514.2.6 I2C主模式21714.3 I2C中断21914.4 I2C固件库22014.5 读/写24C02实例22114.6 小结224第15章 控制器局域网bxCAN22515.1 bxCAN概述22515.2 bxCAN工作模式22615.2.1 初始化模式22715.2.2 正常模式22715.2.3 睡眠模式(低功耗)22815.2.4 测试模式22815.2.5 静默模式22815.2.6 环回模式22815.2.7 环回静默模式22915.3 bxCAN功能描述22915.3.1 发送22915.3.2 时间触发通信模式23115.3.3 接收管理23115.3.4 标识符过滤23215.3.5 报文存储23315.3.6 错误管理23415.3.7 位时间特性23415.4 bxCAN中断23515.5 bxCAN固件库23515.6 CAN通信实例23715.7 小结241第16章 RTX实时操作系统应用24216.1 RTX概述24216.1.1 RTX任务24316.1.2 RTX调度24516.2 任务通信24716.2.1 事件标志24716.2.2 互斥量24816.2.3 信箱24916.3 RTX基础配置25116.4 中断任务之间的通信实例25216.5 小结254第17章 USB电源监测25517.1 需求分析25517.2 硬件设计25517.3 软件设计25617.4 小结259

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章ARM及Cortex-M3处理器概述 1.1ARM处理器系列 1.1.1命名规则 1.1.2ARM处理器系列 1.2ARMCortex-M3处理器 1.2.1处理器组件 1.2.2Cortex-M3的层次和实现选项 1.2.3处理器内核 1.2.4嵌套向量中断控制器(NVIC) 1.2.5总线矩阵 1.2.6集成调试 1.2.7可选组件 1.2.8Cortex-M3处理器应用 1.3ARMCortex-M3指令集 1.4ARMCortex-M3的优势 第2章STM32系列微控制器 2.1STM32系列微控制器简介 2.1.1STM32微控制器的主要优点 2.1.2STM32微控制器的应用 2.2STM32F101xx系列微控制器 2.2.1特点 2.2.2总体结构 2.3STM32F103xx系列微控制器 2.3.1特点 2.3.2总体结构 第3章STM32系列微控制器存储器与外设 3.1存储器和总线的结构 3.1.1系统结构 3.1.2存储器结构 3.1.3存储器映射 3.1.4启动配置 3.2电源控制 3.2.1电源供应 3.2.2电源供应管理 3.2.3低功耗模式 3.2.4电源控制寄存器 3.3复位和时钟控制 3.3.1复位 3.3.2时钟 3.3.3RCC寄存器描述 3.4通用I/O和复用I/O(GPIO和AFIO) 3.4.1GPIO功能描述 3.4.2GPIO寄存器描述 3.4.3复用功能I/O和调试配置(AFIO) 3.4.4AFIO寄存器描述 3.5中断和事件 3.5.1嵌套向量中断控制器(NVIC) 3.5.2外部中断/事件控制器(EXTI) 3.5.3EXTI寄存器 3.6DMA控制器 3.6.1简介 3.6.2主要特性 3.6.3功能描述 3.6.4DMA寄存器 3.7实时时钟(RTC) 3.7.1简介 3.7.2主要特性 3.7.3功能描述 3.7.4RTC寄存器描述 3.8备份寄存器(BKP) 3.8.1简介 3.8.2主要特性 3.8.3干扰检测 3.8.4RTC校验 3.8.5BKP寄存器描述 3.9独立的看门狗 3.9.1简介 3.9.2IWDG寄存器描述 3.10窗口看门狗(WWDG) 3.10.1简介 3.10.2主要特性 3.10.3功能描述 3.10.4如何编程看门狗的超时时间 3.10.5调试模式 3.10.6寄存器描述 3.11高级控制定时器 3.11.1简介 3.11.2主要特性 3.11.3框图 3.11.4功能描述 3.11.5TIMI寄存器描述 3.12通用定时器(TIMx) 3.12.1简介 3.12.2主要特性 3.12.3框图 3.12.4功能描述 3.12.5TIMx寄存器描述 3.13控制器局域网(bxCAN) 3.13.1简介 3.13.2主要特性 3.13.3总体描述 3.13.4运行模式 3.13.5功能描述 3.13.6中断 3.13.7寄存器访问保护 3.13.8CAN寄存器描述 3.14内部集成电路(I2C)接口 3.14.1简介 3.14.2主要特性 3.14.3总体描述 3.14.4功能描述 3.14.5中断请求 3.14.6I2C调试模式 3.14.7I2C寄存器描述 3.15串行外设接FI(SPI) 3.15.1简介 3.15.2主要特性 3.15.3功能描述 3.15.4SPI寄存器描述 3.16通用同步异步收发机(USART) 3.16.1简介 3.16.2主要特性 3.16.3总体描述 3.16.4中断请求 3.16.5USART寄存器描述 3.17USB全速设备接口 3.17.1概述 3.17.2主要特性 3.17.3结构框图 3.17.4功能描述 3.17.5编程中需要考虑的问题 3.17.6USB寄存器描述 3.18模/数转换器(ADC) 3.18.1概述 3.18.2主要特性 3.18.3引脚描述 3.18.4功能描述 3.18.5校准 3.18.6数据对齐 3.18.7基于通道的可编程的采样时间 3.18.8外部触发转换 3.18.9DMA请求 3.18.10双ADC模式 3.18.11温度传感器 3.18.12中断 3.18.13ADC寄存器描述 3.19调试支持(DBG) 3.19.1概述 3.19.2相关的ARM文档 3.19.3SWJ调试端口(串行线和JTAG) 3.19.4引脚分布和调试端口引脚 3.19.5STM32F10xJTAGTAP连接 3.19.6ID编码和锁定机制 3.19.7JTAG调试端口 3.19.8SW调试端口 第4章STM32固件库 4.1STM32固件库的定义规则 4.1.1固件库命名规则 4.1.2代码标准 4.2STM32库的层次结构 4.2.1固件包描述 4.2.2固件库文件描述 4.3STM32库的使用 第5章STM32系列微控制器开发工具与应用 5.1KeilMDK介绍 5.1.1开发过程及集成开发环境简介 5.1.2工程管理 5.1.3编写源程序 5.1.4编译程序 5.1.5调试程序 5.2IAREWARM介绍 5.2.1EWARM集成开发环境及配套仿真器 5.2.2在EWARM中生成一个新项目 5.2.3编译和链接应用程序 5.2.4用J-LINK调试应用程序 5.3STM32-SK仿真评估板 5.3.1评估板规格说明 5.3.2测试程序 5.3.3关于仿真评估板的几个问题 5.4STM32-DK开发板 5.4.1开发板规格说明 5.4.2开发板实例程序 5.4.3关于STARM的常见问题 5.5mx-Pro量产编程器使用简介 5.5.1编程文件管理 5.5.2芯片烧写 5.6应用实例:基于STM32的数据采集器 5.6.1硬件设计 5.6.2软件设计 参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值