你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

玩[NUCLEO-F722ZE开发板] 一、点亮LED

[复制链接]
zhjb1 发布时间:2017-3-29 22:38
本帖最后由 zhjb1 于 2017-3-29 22:42 编辑

玩[NUCLEO-F722ZE开发板] 一、点亮LED
今天110大洋到手一块STM32F722ZET6U开发板,尽管不是心仪的那种带有TFTLCD控制器和硬件JPEG解压的开发板,但算是一块STM32F7系列的开发板了。因为是二手货,到手时急于测试是否好的,无奈网上发了帖子,许多好友们也响应但是没有哪个最基本的点亮LED的出厂程序,网友给了两个,1个式hex的,另一个是bin的,无奈拖到F722生成的盘中毫无反应;从ARMmbed官网没有此类开发板,相近的两款F746自己运行就不正常,不是缺东就是少西的,无奈只好从官网下载了“STM32Cube_FW_F7_V1.6.0”工程文档,硬着头皮重新捡起C宏。
这个工程文档足够大,包含了多种F7xx的工程,本例只用F722,因此遍历文件夹和子文件夹将与F722无关的都删除,缩减为只有F722的工程,好在查看里面支持IAR和KEIL的都有。因为网上多数网友认为Keil好用于是用keil开始了第一个LED闪亮的程序开发,以便测试开发板的好坏,尽快付款。实际上,用IAR打开程序时编译报错,缺少core_cm7.h文档,因此只好先用Keil了。
重新回到C宏编程又开始不断的搜查函数,学习了解,基本思路是这样的,比如想点亮3只LED,在GPIO的实例中已有1只点亮的——LED1,那么搜全部文档中有LED的实例,结果搜到了一些与设置GPIO有关的函数,比如:
BSP_LED_Init(Led_TypeDef Led);
BSP_LED_Toggle(Led_TypeDef Led);

HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_RESET);
结果查看对LED1,LED2,LED3的定义,知道LED1是GPIOB,GPIO_PIN_0;LED2是GPIOB,GPIO_PIN_7;LED3是GPIOB,GPIO_PIN_14;这样就可以直接调用BSP_LED_Init(Led_TypeDef Led);初始化LED1,LED2,LED3
而后自己编一个延时函数:
void delay(int counter){
int i,j;
for(i=0;i<counter;i++)
  for(j=0;j<i;j++){;}
}
再在主函数的循环语句内填上:
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,1);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7, 0);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14, 1);
delay(10000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,0);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7, 1);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14, 0);
delay(10000);
编译下载后的结果见照片11。下边就该开始驱显LCD了。F722功耗够大的,只点亮3只LED,150mA。


3只LED点亮

3只LED点亮
收藏 1 评论12 发布时间:2017-3-29 22:38

举报

12个回答
jiuwangbujiu 回答时间:2017-3-30 07:05:47
想问一下点灯的时候怎么做的让板子跳舞的
epochal 回答时间:2017-3-30 07:24:14
谢谢分享!
天涯水乡 回答时间:2017-3-30 08:18:46
不错哦
霹雳之火 回答时间:2017-3-30 08:46:16
jiuwangbujiu 发表于 2017-3-30 07:05
想问一下点灯的时候怎么做的让板子跳舞的

也有此疑问
努力的人 回答时间:2017-3-30 09:10:53
代码使用<>帖子效果会好一点
zhjb1 回答时间:2017-3-30 13:53:27
本帖最后由 zhjb1 于 2017-3-30 13:55 编辑
jiuwangbujiu 发表于 2017-3-30 07:05
想问一下点灯的时候怎么做的让板子跳舞的

用Fireworks的帧功能将两张照片合在一起,加个延时就OK了。跳动是无意的,照片时相机动了。
zhjb1 回答时间:2017-3-30 13:54:47
努力的人 发表于 2017-3-30 09:10
代码使用帖子效果会好一点

用了<>会使别人粘贴代码时遇到困难。所以一般源码奉上,以便粘贴
五哥1 回答时间:2017-3-31 12:06:29
大哥,你对HAL库里的HAL_Delay()函数有意见?非要在点个灯这个程序,重写一个。
zhjb1 回答时间:2017-3-31 17:30:32
本帖最后由 zhjb1 于 2017-3-31 17:50 编辑
五哥1 发表于 2017-3-31 12:06
大哥,你对HAL库里的HAL_Delay()函数有意见?非要在点个灯这个程序,重写一个。 ...

有这个函数,我搜搜看。实际上以前都用mbed,这次是第一次用HAL库,如果有太棒了,是的多几行代码。先谢谢了。搜到了,好像那个函数最小延时为mS,现在够用,再次谢谢!
slotg 回答时间:2017-3-31 18:09:11
zhjb1 发表于 2017-3-30 13:54
用了会使别人粘贴代码时遇到困难。所以一般源码奉上,以便粘贴

用了 <> 会有什么问题呢?
zhjb1 回答时间:2017-3-31 18:13:01
slotg 发表于 2017-3-31 18:09
用了  会有什么问题呢?

别人再粘代码时麻烦,我有这个体验。
zbber 回答时间:2017-3-31 21:06:38

,纯友情支持 帮顶

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版