STM32第二课(cubemx,clk,gpio,)
cubemx用来生成platform。
++++++++++++++++++++++++++
复制IOC工程。
新建一个文件夹,将需要的IOC文件拷贝到新建的文件夹中。
修改IOC文件的名称,
然后用CubeMX打开,
修改project manager的相关选项,
之后save project。
++++++++++++++++++++++++++
pinout and configuration
sys设置,
debug千万不能设置为disable,必须设置为serial wire模式。否则会锁死芯片。
如果选择了serial wire,那么在GPIO的报表中,会有这两个引脚的条目。
timbase设置为systick。
rcc设置,
HSE选择crystal,外部晶振,相应的pin变成绿色。
LSE根据情况,选择disable或者crystal或者bypass。
MCO1根据情况,勾选或者不勾选,
MCO2和I2S_CKIN,是互斥的,二者只能勾选其一。
nvic设置,
根据中断使用的情况设置。一般默认即可。
iwdg设置,
根据情况设置iwdg,默认不使能。
wwdg设置,
根据情况设置wwdg,默认不使能。
gpio设置,
如果不想使用某个pin,那么选择reset state,pin会变成灰色,左键点击,选择某一种gpio mode后,变成绿色,同时会在gpio的报表中显示一个条目。
可以设置mode,pullup, user label等。
设置了user label,生成工程时,会有特定名字的宏定义和结构体。
adc设置,
可以选择pin脚输入的in0到in15一共16个通道,也可以选择内部通道,vref, vbat,temprature,
dac设置,
可以选择out1或者out2.
timer设置,
根据情况选择使能或者不使能。
connective设置,
根据情况选择使能或者不使能。
multimedia设置,
根据情况选择使能或者不使能。
RNG设置,
根据情况选择使能或者不使能。
CRC设置,
根据情况选择使能或者不使能。
middleware设置,
根据情况选择中间件。
+++++++++++++++++++++++++++++
clock configuration
时钟流向从左到右,
STM32 有4个独立时钟源:HSI、HSE、LSI、LSE。
HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。
LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
LSI是作为IWDGCLK(独立看门狗)时钟源和RTC时钟源 而独立使用 。
HSI,HSE,PLL,这三个经过分频或者倍频,作为sysclk来使用。
PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。
USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取。
MCO脚上,可以选择为PLL输出的分频、HSI、HSE、或者系统时钟。可以把时钟信号输出供外部使用。
系统时钟SYSCLK通过AHB分频器分频后送给各模块使用,AHB分频器输出的时钟送给5大模块使用,
内核总线:送给AHB总线、内核、内存和DMA使用的HCLK时钟。
Tick定时器:通过8分频后送给Cortex的系统定时器时钟。
I2S总线:直接送给Cortex的空闲运行时钟FCLK。
APB1外设:送给APB1分频器。
APB2外设:送给APB2分频器。
APB1分频器输出一路供APB1外设使用PCLK1,另一路送给通用定时器使用,时钟输出供定时器2-7使用。
APB2分频器输出一路供APB2外设使用PCLK2,另一路送给高级定时器,供定时器1和定时器8使用。还有一路输出供ADC分频器使用,分频后送给ADC模块使用。
+++++++++++++++++++++++++++++
project manager
在project选项卡中,
project name,
设置工程名XXX.ioc。
project location,
设置IOC工程的位置。
toolchain folder location,
设置输出的RVMDK的工程的位置。
在code generator选项卡中,
勾选 copy all used library file。
勾选delete previously generated files.
+++++++++++++++++++++++++++++
tools
++++++++++++++++++++++++++++
generate code
生成RVMDK的输出文件夹。
++++++++++++++++++++++++++++++++++++++++++++
实践中,我们可以采取cubemx和keil相结合的方式来工作,
在cubemx的工作区文件夹下,由cubemx生成IOC工程,并输出RVMDK的工程文件夹,然后将RVMDK的工程文件夹拷贝出来, 放到keil的工作区文件夹下,进行进一步的开发。
STM32第二课(cubemx,clk,gpio,)相关推荐
- 【STM32】基础知识 第十课 CubeMx
[STM32]基础知识 第十课 CubeMx STM32 CubeMX 简介 安装 JAVA CubeMX 安装 新建 STM32 CubeMX 工程步骤 新建工程 时钟模块配置 GPIO 配置 生成 ...
- PT静态时序分析 第一课 第二课
绪论 目录: 第一到第四课比较重要 第一课 STA原理 静态时序分析是一种穷尽分析方法,用以衡量电路性能. STA主要有三个步骤: 1.设计被分解为时序路径(timing path) 2.计算所有路径 ...
- STM32 HAL库 CubeMX教程(五)串口通信基础
STM32 HAL库 CubeMX教程(五)串口通信基础 串口通信简介 CubeMX配置 初始化程序分析 程序编写 参考文献 STM32 HAL库 CubeMX系列教程 目录 串口通信简介 UART: ...
- 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫
系列教程 手把手教你写电商爬虫-第一课 找个软柿子捏捏 如果没有看过第一课的朋友,请先移步第一课,第一课讲了一些基础性的东西,通过软柿子"切糕王子"这个电商网站好好的练了一次手,相 ...
- android 集合 内存泄漏,Android内存泄漏第二课--------(集合中对象没清理造成的内存泄漏 )...
一.我们通常把一些对象的引用加入到了集合容器(比如ArrayList)中,当我们不需要该对象时,并没有把它的引用从集合中清理掉,这样这个集合就会越来越大.如果这个集合是static的话,那情况就更严重 ...
- cdata节 赋值变量_JS原生练习题:第二课第5~12节
第五节:函数传参,改变Div任意属性的值 函数传参,改变Div任意属性的值 属性名: 属性值: 确定 重置 在上方输入"属性名"和"属性值",点击确认按钮查看效 ...
- 0.0 目录-深度学习第二课《改善神经网络》-Stanford吴恩达教授
文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...
- Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...
- GIS讲堂第二课-地图切片简介以及OL中的调用
概述: 在大家的支持与帮助下,"GIS讲堂"第二课已落下帷幕,在此对大家的支持与帮助表示衷心的感谢,同时呢,也给大家致歉,由于感冒的缘故,讲课的时候的各种毛病还请大家多多包涵,下面 ...
最新文章
- elasticsearch 路由文档到分片
- 正则表达式: 正向预查和负向预查
- pycharm使用import numpy报错
- Day-4: Python函数
- Leetcode No.146 ****
- VS调试启动编辑并继续功能
- [ZJOI2009]取石子游戏
- hdu 4381(背包变形)
- 数据操纵:SELECT, INSERT, UPDATE, DELETE
- Windows最常用的几个网络CMD命令总结
- HDOJ--1728--逃离迷宫(广搜)
- 3D数学基础(二)| 向量
- 抛弃clover,爱上QTTabBar
- OMC IT监控运维管理平台建设方案
- 统计学习方法——机器学习和统计学习
- 红豆 2022年3月16日
- 还在使用BeanUtils.copyProperties()? 来看看MapStruct,强大五倍
- pcm5102a解码芯片音质评测_配备独立解码芯片 性能旗舰iQOO Pro音质再Hi-Fi
- MindSpore数据集加载-GeneratorDataset数据处理报错:The pointer[cnode] is null
- Vue2.x - Vue Router
热门文章
- Docker容器运行GUI程序的方法(直接进入Docker容器运行或通过SSH连接Docker容器运行)
- 360手机刷机·EdXposed安装和使用教程
- JAVA 与 JVM
- adams数据导出matlab,adams数据导入matlab
- OpenLayers6 裁切地图(Layer Clipping)
- druid监控页面授权
- 计算机通信与网络(一)
- 行云创新受邀加入信通院云原生成熟度专家组,开启业内首批云原生技术架构/应用成熟度评估测试
- mysql登录如何重置密码忘记_MySql登陆密码忘记了怎么办?MySQL重置root密码方法...
- 给大家分享一下指纹挂锁的方案