首先设定一个的两周入门计划:
所谓的“两周”,根据每个人的时间安排不同而不同。这里列出一个思路,仅供参考。
步骤一:安装完STM32学习的软件
步骤二:挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况。
实际上,以上两个步骤,是为了熟悉要使用的工具软件而已。属于找感觉的阶段。
步骤三:准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档,用于平时查阅。
步骤四:开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?
步骤五:Ucos-II的移植,是否需要试一下?
恭喜你,至此,你已经可以自如进行独立的开发了。最后一步,给自己一个目标(项目),把它实现出来!再次强调,以上只是一个学习STM32的思路,供大家参考。下面列出了前面关键的步骤,希望大家能尽快入门。
1. 第1步:熟悉调试软件
对初学者来说,我们至少需要安装两个软件:J-Link驱动软件、MDK(就是原来的Keil)软件。
2. 第2步:GPIO编程
GPIO本身的编程实际上很简单:
1、设置GPIO口的引脚为输入或者输出模式。我们在进行点灯代码的时候,一般设置为推挽输出模式。
2、操作寄存器,往寄存器里置1或者清零操作——这个步骤,固件库已经提供了专门的GPIO_SetBits函数和GPIO_ResetBits函数,我们只要去调用即可实现对IO口的置1和清零。
3、实现多种花样的LED闪动,使得自己熟悉GPIO的编程过程。
该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。
3. 第3步:开始全新的STM32深入研究
经过以上调试软件的熟悉和GPIO口的编程调试后,相信您已经对STM32有一定的了解。
至少知道如何利用STM32的固件库去写一个代码。在这个阶段,将要接触到串口编程、TFT液晶屏驱动编程、定时器编程、串行外设接口SPI编程、存储器编程、SD卡与文件系统移植、USB读写、UCOS移植等,有精力还可以研究其他外设。
关键字:STM32 Ucos-II 移植
引用地址:
学习STM32的思路和关键步骤
推荐阅读最新更新时间:2024-11-09 16:42
初识“位带操作”
初识“位带操作” 什么是“位带操作”? CPU不能直接对位带区中的单个数据位位寻址,只能通过对位带别名区的访问(或读/写)实现对位带区单个数据位的访问(或读/写),这种操作被称为位带操作。 STM32的“位带操作”为何会出现? 51单片机相信各位都用过,假设P1.1的IO口上挂了一个LED,那么你单独对LED的操作就是P1.1 = 0或P1.1 = 1,注意,是你可以单独的对P1端的第一个IO口进行操作,然而STM32是不允许这样做的,那么为了像51单片机一样能够单独的对某个端的某一个IO单独操作,就引入了位带操作这样的概念,简而言之,言而总之,就是为了去单独操作32里面PA端的第1个IO口,所以才有了位带这样的操作机制。
[单片机]
单片机的四种烧写方式
单片机的四种烧写方式简介 单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程IDE来实现编程。在学习单片机之前,要先清楚单片机程序是如何烧写到单片机内部的,在烧写的过程中需要用到什么工具?因为不通用的烧写工具可能价格较贵,比如说Micorchip单片机使用的ICD系列编程器,单台价格在600-1000元人民币之间。今天和大学来认识一下单片机最常用的四种烧写方式和所使用到的工具。 1.使用JTAG接口实现 JTAG接口是一种标准的测试协议,可以实现编程时在线调试,利用单步追踪可以很方便的查找代码
[单片机]
基于SmartARM2300开发板的ADS工程移植keil5工程
需求描述: 最近在用LCP2378做项目,需要用到此芯片上的CAN接口,官方给的例程中,是ADS平台下的,根据我个人习惯,想在keil下进行开发,所以就需要将源码转换到keil平台上,根据需要搭建好keil5的软件环境(需要能支持LPC2XXX系列芯片支持包)。 1.新建keil工程,选择LCP2378芯片: 2、会提示是否加载LPC2300.S可以选择加载后可以删除,这个文件相当于ADS里面的Startup.s是程序启动文件(就是复位、中断、main跳转之类的),由于将ADS工程移到这边可以不需要keil自带的LPC2300.S 3、 将ADS工程文件全部考到Keil 工程文件夹下,后在工程中将文件都加入(除了scf
[单片机]
STM32开发板实验箱8位独立按键测试学习
1、畅学STM32核心板 2、 配套STM32主芯片 F103C8T6 3、 畅学系列STM32实验箱 EESKILL畅学系列多功能开发学习板功能底板,加上配套畅学STM32核心板,再配上专用的超大铝箱即构成了EESKILL畅学STM32开发学习实验箱。 整个开发板由功能主板和扩展核心板组成,扩展核心板可以通过铜柱、螺母固定到底板,组合成为一个多功能开发学习板。功能底板和扩展核心板可以一起使用,也可以分开单独使用,灵活性、扩展性极强。 除STM32核心板之外,畅学系列多功能开发学习板/实验箱还支持以下核心板: 畅学51单片机核心板 畅学PIC单片机核心板 畅学MSP430单片机核心板 (2种)
[单片机]
基于STM32物联网开发板(4)--LCD屏
1.概述 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW; 超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕); 宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片; 采用7线制SPI接口; 工作温度范围为工业级(-20℃~60℃); 军工级工艺标准,长期稳定工作; 硬件接口: 引脚 说明 LEDK PB0背光 CS PA4片选 SCL PA5时钟 SDA PA7主机输出 RES PB1复位脚(电平复位) D/C PC4数据命令选择脚 2.通讯协议 ST7789VW是一款用于262K彩色图形型TFT-LCD的单片
[单片机]
PWM控制led渐变
PWM,中文释义:脉冲宽度调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 PWM 是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 STM32的定时器除了TIM6和7。其他的定时器都可以用来产生PWM输出。其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。而通用定时器也能同时产生多达4路的PWM输出,这样,STM32最多可以同时产生30路PWM输出!(在编程过程中的定时器重映像时涉及到) STM32 的PWM是TIMx_ARR寄存器确定频率(周期)、由TIMx_CCRx寄存器确定占空比的信号。 PW
[单片机]
我的STM32学习之路(1)---STM32概述(Cortex-M3)
一、STM32概述(Cortex-M3) STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M0,M0+,M3, M4和M7内核,笔者目前要用的型号为stm32f103,内核为cortex-m3,以后有时间再写stm32f407相关文档吧。 对于这款处理器,打算从以下方面介绍。 1.处理器结构 Cortex‐M3 是一个 32 位处理器内核。 内部的数据路径是 32 位的, 寄存器是 32 位的, 存储器接口也是 32 位的。 CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。 这样一来数据访问不再占用指令总线,从而提升了性能。 为实现这个
[单片机]
STM32 USART1对PWM的影响,串口影响PWM
注意,USART1和TIM1是复用的,如果用TIM1产生PWM(PA9 / PA10),则USART1不应该用该管脚,可以用PB6/PB7。
[单片机]