从库函数方向入门stm32的个人建议

发布者:影子猎人最新更新时间:2019-04-11 来源: eefocus关键字:库函数  stm32  开发板 手机看文章 扫描二维码
随时随地手机看文章

必备工具:stm32开发板,一本库函数方向的书籍;


(1)选定一个开发板后,注意该版对应的stm32型号,一般选F103ZET6,网上资料多,查看它对应的flash的大小,以后开发时会设置编译器用到。


(2)循序渐进地根据书中介绍进行工程的建设(我是使用野火的《stm32库函数开发》),在开始我们要注意其中如core.c,f103.h等等文件的作用,如内核驱动,系统时钟的设置,外设的驱动文件等等这些是那些文件,在以后的工程文件建设中,这些将几乎可以不修改地添加到其他工程文件中,而需要我们写入程序,实现我们想要功能的是如下文件:stm32.it.c:写入中断服务函数;stm32.conf.h:添加需要控制到的外设驱动文件,xxx.c是用户具体想实现什么功能的代码。


(3)弄清一个工程的兴建具体工程后,我们可以依据开发板提供的例程熟悉各个外设的配置利用过程:下载程序试运行,参照课本了解各个语句的作用,此时稍微修改设置的某些语句体验设置效果。一般我们先掌握gpio,USart,dma,i2c等外设的使用。这过程注意学完一个外设后进行配置流程的总结(回忆就可以,不需要详细记忆,但有印象方便查询)。————学习这些,个人建议不用去记忆繁琐的配置流程,我们只需要知道流程的大体思路。


(4)这个时候,我们就可以尝试利用各种外设的结合去做一些项目;(有实际项目最好,没有就自己创造:比如说通过USart来接收电脑串口传送信息,再通过gpio来控制等的亮灭等),一开始我们可以用开发板提供的两个例程结合来实现我们的目标(当然也可以自己写);在这过程我们可能会遇到程序问题,我们也不能找到程序问题时,这时可以利用mdk的debug功能来找寻程序在哪里出错。debug的操作网上有很多教程,具体自己查找。期间我们有时会进入到库函数的定义里面,我们要明白库函数的功能及其参数代表的意思时,就需要用到---stm32固件库使用手册---。而当程序在诸如中断函数里面出错,或者想要知道某个库函数的具体寄存器如何操作时,就要参考---stm32f103XXX参考手册---,来查看调用一个库函数时,它里面是如何操作寄存器的(同时也注意寄存器中各位数据状态变化的时序,就是什么变化会在什么的前面,或者是条件)等等。


关键字:库函数  stm32  开发板 引用地址:从库函数方向入门stm32的个人建议

上一篇:STM32单片机常用库函数
下一篇:STM32的断言机制——函数assert_param()

推荐阅读最新更新时间:2024-03-16 16:27

STM32——利用STM32CubeMX来点亮GPIO口的led
GPIO口的 LED 点亮(以STM32F407IGTb芯片为例 ) 1、掌握的GPIO口的使用方法 2、熟悉Keil uVision5工具软件的使用 原理: 只要是对硬件操作,就要首先查看原理图。 查看外设是给模块的MCU的哪个引脚相连。 FS-STM32F407开发平台上的LED的亮灭状态,与芯片上的引脚I/O输出电平有关。 FS-STM32F407开发平台上LED的I/O扩展: IO操作重要结构体:GPIO_InitTypeDef typedef struct { uint32_t Pin; 操作的管脚 uint32_t Mode; 模式选择 uint32_t Pull;
[单片机]
<font color='red'>STM32</font>——利用STM32CubeMX来点亮GPIO口的led
STM32 ADC的采样周期确定
一 STM32 ADC 采样 频率的确定   先看一些资料,确定一下STM32 ADC 的时钟:   (1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。   (2)一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同   RCC_HCLKConfig(RCC_SYSCLK_Div1);   RCC_PCLK2Config(RCC_HCLK_Div1);   RCC_PCLK1Config(RCC_HCLK_Div2);   (3)在时钟配置寄存器(RCC_CFGR) 中 有 为ADC 时钟提供一个专用的可编程预分器
[模拟电子]
米尔NXP i.MX 8M Plus开发板
近期,关注米尔的工程师都说 米尔活动不断,大大福利了年底做项目 ST、TI、全志的开发板都搞活动, 那NXP的粉丝咋办呢? 别慌!这就来了 一直关注米尔工程师都知道, 米尔推出基于NXP系列的低、中、高端核心板开发板,为客户提供不同功耗、可扩展性、计算性能、安全性的产品,满足客户多样化的开发需求。分别有i.mx6ul、i.mx 8mini、i.mx 8m plus、LS1028A等产品。 米尔为了回馈广大NXP平台客户 上线NXP i.MX 8M Plus开发板6折活动 NXP i.MX 8M Plus开发板原价1820起 打完折只要1092元起,足足节省了700多元
[嵌入式]
米尔NXP i.MX 8M Plus<font color='red'>开发板</font>
巧用外设复位修改只读寄存器
有STM32开发者用到STM32F429芯片开发产品,并用到其中的CAN外设。在CAN应用过程中有个专门针对收发出错情况进行次数统计的两个计数器,其值通过错误状态寄存器CAN_ESR中的REC 和TEC 两个字段来体现,CAN硬件会根据错误数据大小做适当响应或处理。 根据寄存器描述得知,TEC 和REC 的值在这个寄存器里面是只读的。而此时的STM32用户有个强烈的需求,就是期望能适时地对这两个出错记录字段做清零。他自己也尝试编写一些代码想让二者清零,均以失败告终,便邮件咨询有无解决办法。 我们在阅读CAN_ESR寄存器内容时倒有个发现,即该寄存器的复位值是0x00000000。 也就是说,芯片每次复位后其值一定是0,
[单片机]
巧用外设复位修改只读寄存器
STM32 stdint.h简略翻译
一定要看: 由于本人英语水平有限,且初学STM32,在翻译过程中出现错误,遗漏,不当之处在所难免,因此希望各位若发现错误请麻烦抖抖你的手指,敲出我的错误,本人非常渴望您的指正,以免害己害人! 看本文注意点: 文中 1, #ifdef __cplusplus #undef __CLIBNS #ifndef __STDINT_DECLS等等宏的使用请看我的另一篇收集整理的博客《比较全面的宏定义解析》 2,本文 不求功能解释,只对文中进行字面翻译,应该说还是比较容易理解其功能的 3,需要源文件的 请到http://download.csdn.net/detail/you1314520me/6392445
[单片机]
<font color='red'>STM32</font> stdint.h简略翻译
STM32定时器时间的计算方法
STM32中的定时器有很多用法: (一)系统时钟(SysTick) 设置非常简单,以下是产生1ms中断的设置,和产生10ms延时的函数: void RCC_Configuration(void) { RCC_ClocksTypeDef RCC_ClockFreq; SystemInit();//源自system_stm32f10x.c文件,只需要调用此函数,则可完成RCC的配置. RCC_GetClocksFreq(&RCC_ClockFreq); //SYSTICK分频--1ms的系统时钟中断 if (SysTick_Config(SystemFrequency / 1000)) { while (1); // Capt
[单片机]
关于STM32 的 硬件IIC和 模拟IIC理解学习
1. 硬件 IIC 用法比较复杂,模拟IIC的流程更清楚一些。 2. 硬件IIC速度比模拟快,并且可以用DMA 3. 模拟IIC可以在任何管脚上,而硬件只能在固定管脚上。 软件i2c是 程序员 使用程序控制SCL,SDA线输出高低电平,模拟i2c协议的时序。一般较硬件i2c稳定,但是程序较为繁琐,但不难。 硬件i2c程序员只要调用i2c的控制 函数 即可,不用直接的去控制SCL,SDA高低电平的输出。但是有些单片机的硬件i2c不太稳定,调试问题较多。
[单片机]
STM32之CANTTCAN模式浅析
1 前言 传统CAN 采用事件触发消息传输机制,CSMA/ CD+ AMP( Carrier-Sense Mult iple Access w ith Co llision Detect ion and Arbit ration on Message Priorit ies, 载波侦听、多路访问、冲突检测、优先级仲裁) 介质访问控制机制, 即多个消息同时发送时, 按照消息标识符的优先级顺序, 低优先级消息自动退出, 高优先级消息继续发送。这种介质访问方式提高了网络的利用率和高优先级消息的实时性, 但在重负载CAN 中, 低优先级消息经常由于总线冲突而被迫退出发送, 导致低优先级消息传输时延长, 且传输时延不可预测,
[单片机]
<font color='red'>STM32</font>之CANTTCAN模式浅析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved