本帖最后由 creat 于 2015-2-2 18:46 编辑 拿到板子一月有余了,刚刚学习STM32几个月,一直用的原子的F1战舰板做项目。所以一直没动F0。前两天看了NUCLEO开发板开发比较汇总,看了CUBEMX的项目生成工具。感觉挺好,下面总结一下个人的使用感受。 DATE 1 一、初步测试 1.首先是安装了CUBEMX,和安装CUBEFW。这里前面有人提过不多说。只是离线包安装费了一点周折,安装方法见图片。 2.安装完后就可以新建项目了,我首先做了一个LED的闪烁测试。NUCLEO板上绿色的LED为PA5,所以PA5设置为GPIO_Output,然后在PROJECT中设置工程名和保存路径及生成MDK4.73工程模板,一切OK点击生成。 3.生成好工程以后打开工程,竟然DEVICE里没有STM32F072RB。原因是MDK版本太老(4.72),于是装MDK5.12,又费了好大功夫才搞定。新版本确实不错。刚装的朋友记得装上STLINK驱动哦。 4.下面就可以随心所欲的尽情开发了。我的第一个测试为LED闪烁实验。新建了一个HARDWARE项目文件,里面先放着LED.C和LED.H。F0的FW文件的GPIO.C中对GPIO的操作跟以前常用的FW文件不一样了。对GPIO的设置与复位由原来的: GPIO_SetBits(GPIOx,GPIO_Pin)和GPIO_ResetBits(GPIOx,GPIO_Pin),变成了一个函数:HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)。 5.编译下载,第一个测试完美运行。 总结: 使用CUBEMX生成工程文件比较方便,再也不用再编写繁琐的硬件初始化函数了,只要使用熟练,3分钟就可以跳过硬件初始化,进入我们的项目设计。在MDK开发的过程中如果要改变某些硬件的设置,可以在回到CUBEMX里进行更改重新生成配置文件,非常方便。 二、步进电机控制 测试完GPIO就想着做进一步的实验,最近一直在 做有关于步进电机的项目,用的ST的 驱动L6470,该驱动支持指令式的操作,支持128细分,可以很方便的实现位置速度等各种操作。使用SPI发送指令。已在STM32F103的板子上实验过,配合触摸屏操作实现各种复杂的运动。现在打算移植到F0上测试。 1.首先使用CUBEMX设置STM32F072的硬件配置,在peripherals中使能SPI1为:Full_Dupex Master,使用片选。然后点击Configuraton,设置SPI的参数。点击生成工程文件。 2.在工程文件中添加DSPIN驱动芯片的驱动文件。 3.根据SPI函数修改驱动C文件及头文件。 4.买MAIN 函数里调用驱动函数实现电机控制。 步进电机的工程文件今天刚刚在弄,主要现在CUBEMX是出现了生成不了PROJECT的问题,目前正在找原因。后续调试好了上传。先上传L6470的驱动文件。 以上为个人这两天的试用经历,新手一个,希望和大家互相学习! DATE 2 板子使用两天后感觉顺手多了,越用越喜欢。之前编译CUBEF0里的例子老是找不到core_cm0.h,MDK的DEVICE安装出错,最后装成了最新版的MDK5.13,使用官方例子是要在OPTIONS里设置一下包含的头文件(core——cm0.h在MDK安装路径中的::\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include里)。高端大气上档次的感觉。例子里面直接使用了NUCLEO.c的库函数文件,直接很方便的直接对板子的外设及扩展外设进行操作。MDK pack installer 里有NUCLEO板子例程的链接:http://www.keil.com/boards2/st/nucleo_f072rb/。而我要进行的项目需要的SPI,和2.8寸LCD,及按键都有相应的例子。项目开发可以把精力都花在自己的功能函数里。估计明后天就可以把我在F1里开发的项目转移到F0里,如果可行成本可以省去一些吧。 CUBE_FW_F0_1.2版SPI_FullDuplex模式测试。打开文件的MDK工程,官方例子对SPI初始化和配置的函数看着比较复杂详细,附带了很多错误检测函数。要使用SPI例子做实验,一定要在main.h文件里定义一下主从机:#define MASTER_BOARD OR #define SLAVE_BOARD 。例子可以实现两块板子的SPI传输,主机发送缓存区数据给从机,从机把发送来的数据传回给主机,主机逐个字节检测数据是否相符,不相符则绿色LED的间隔一秒闪烁。 |
【STM32F0开发日志/评测/笔记】+互补PWM波的产生
STM32F030 PB14和PB15无法输出PWM求助
【STM32F030探索套件】序列之五 外部中断
【STM32F0开发日志---二】+ucosii.2.92移植在STM32F030
上传个STM32F0+5110+内部温度传感器的菜鸟实例
【STM32F030探索套件使用问题】STM32F030 SPI方式驱动ST7565LCD失败
求一份STM32F051 I2C驱动LCD 12864的例程
STM32F0 M0 向结构体赋值进入HardFault异常
STM32F0 ADC-DMA方式采集2路数据时出现问题
STM32F030C8T6,TIM16定时慢很多问题?
谢谢支持,谢谢鼓励!
找到CUBEMX生成不了PROJECT的问题了,原因是不知道怎么回事安装的CUBEF0_FW1.21没了。可能是加载的离线包移走了的问题吧,还有生成的工程路径不能包含中文。
你也在用这个IC吗?
我这几天再调L6480。加速过程好长,要好几圈才能达到指定速度,不知道什么问题
可以一起讨论
兄弟你用L6480怎么样了?能否和你一起探讨一下L6480?我的QQ是15226661
兄弟你用L6480怎么样了?能否和你一起探讨一下L6480? 我的QQ是15226661