历史上的今天
返回首页

历史上的今天

今天是:2024年09月19日(星期四)

正在发生

2018年09月19日 | STM32CubeMX学习教程之一:GPIO输出之跑马灯

2018-09-19 来源:eefocus

完整源码下载:

https://github.com/simonliu009/STM32CubeMX-GPIO-Control

软件版本:

STM32CubeMX V4.25.0  
System Workbench V2.4
固件库版本:

STM32Cube FW_F1 V1.6.1

硬件:OneNet 麒麟座V2.3

在STM32CubeMX中新建项目,选择正确的MCU型号


首先设置RCC和SYS,如下图


然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图


GPIO设置 PC7, PC8, PA12和 PC10为GPIO_OUTPUT, (这是麒麟座V2.3的四个LED管脚),如下图


GPIO配置如下:


Project - setting ,ToolChain/IDE选择 SW4STM32,注意项目名称这里不能有空格,最好不要用中文。



勾选这里




保存以后,点击任务栏的生成代码图标


生成完毕以后在弹出的对话框点击"Open Project", System Workbench自动打开Eclipse并导入和打开了项目,然后展开项目树,双击编辑main.c,在while(1)之后和/*USER CODE END WHILE*/之间加入代码如下:

  MX_GPIO_Init();

  /* USER CODE BEGIN 2 */

 

  /* USER CODE END 2 */

 

  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

  {

 HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);

 HAL_Delay(500);

 HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);

 HAL_Delay(500);

 HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);

 HAL_Delay(500);

 HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin);

 HAL_Delay(500);

  /* USER CODE END WHILE */


然后右键点击项目,选择Properties, Run-Debug Settings, 点击右侧的New,在弹出对话框中选择Ac6 STM32 Debugging。


然后任务栏上点击Run图,当然会报错的,原因请查看另一篇我的博客(https://blog.csdn.net/toopoo/article/details/79680323),所以需要右键点击  项目名Run.cfg ,给它改个名字,


然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:


然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件:


然后右键点击那个新的cfg文件,选择"Open With - Text Editor", 进行如下更改:

source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg]

reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none 

然后再Run一下,就可以了。


推荐阅读

史海拾趣

广州奥松公司的发展小趣事

为了满足市场对于芯片的日益增长的需求,奥松电子决定启动建设8英寸MEMS特色芯片IDM产业基地。这一项目的实施,不仅提升了公司的产能规模,也进一步巩固了公司在电子行业中的地位。通过引进先进的生产设备和技术,奥松电子成功打造了一个集研发、生产、销售于一体的产业基地,为公司的长远发展奠定了坚实的基础。

E-T-A Circuit Breakers公司的发展小趣事

1961年,E-T-A公司推出了其第一款电子式保险丝,这一创新引领了电气保护设备的新时代。这款电子式保险丝采用了可编程技术,可以根据电路需求进行精确的保护和控制。它的出现大大提高了电气系统的安全性和可靠性,并为E-T-A公司在电路保护领域奠定了坚实的基础。

Actel公司的发展小趣事

1961年,E-T-A公司推出了其第一款电子式保险丝,这一创新引领了电气保护设备的新时代。这款电子式保险丝采用了可编程技术,可以根据电路需求进行精确的保护和控制。它的出现大大提高了电气系统的安全性和可靠性,并为E-T-A公司在电路保护领域奠定了坚实的基础。

CHERRY公司的发展小趣事

1953年,一位名叫Walter Lorain CHERRY的德国年轻人在美国创立了Cherry公司,地点选在了一家餐厅的地下室。当时,Cherry的主要业务是生产微动开关,这种开关被广泛应用于各种电子设备中。Cherry的微动开关因其高品质和可靠性而赢得了市场的广泛认可,逐渐成为了行业内的佼佼者。

Crystal Semiconductor Corp公司的发展小趣事

近年来,随着人工智能、物联网等新兴技术的快速发展,半导体行业正面临着前所未有的变革。Crystal Semiconductor Corp积极应对这一挑战,加大了对新兴技术的研发投入,推出了一系列适应市场需求的新产品。同时,公司还加强了与上下游企业的合作,共同推动产业链的发展。

BCD Semi(Diodes)公司的发展小趣事

作为一家高科技企业,BCD Semi(Diodes)公司深知创新是发展的核心动力。因此,公司始终将研发投入作为重中之重,不断加大对新技术、新产品的研发力度。通过持续的创新驱动,公司成功推出了一系列具有自主知识产权的高性能模拟半导体产品,为公司的长远发展奠定了坚实基础。

问答坊 | AI 解惑

户用电热式热能量表的合作与开发

户用电热式热能量表的合作与开发 一、合作内容 针对我国户用热能量表市场提出的一种全新的户用电热式热能量表,以电热方式,对热能量以公平公正的方式进行交换,摆脱了供热与用热双方对以往使用的户用机械旋翼式热能量表所出现的困扰 ,即计量 ...…

查看全部问答>

小工程公司发展困惑与实际操作问题讨论(三)

三、公司架构 1、总经办: 对公司经营状况负责;公司人事任命;岗位设计与职责说明;管理系统的监督执行与改善提案;公司资金运作;经营方针提案与确定;人员绩效管理; 2、财务部: 公司资金记录管理;公司资产记录管理;工程项目资金支持;公 ...…

查看全部问答>

vhdl中用altera_mf库的问题

LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY sin_tab IS        PORT        (                address    ...…

查看全部问答>

【SynPlify技术问题】在Synplify中如何才能将门电路组合在一起?

用Technology中的Gates view看电路图是,都是AND2 OR2 INV 的门,怎样才能把这些门综合起来,变成复杂的门,如AND3,AND4B2 等(不是RTL下)。谢谢各位…

查看全部问答>

workbench3.0的使用

刚开始接触vxworks6.6,对于workbench一窍不通,哪位大大有wind river workbench3.0的中文资料啊,英文的user\'s guide 实在是看得晕啊…… 万分感谢!!!…

查看全部问答>

TCPMP 0.72RC1 for CE6.0的错误-请kieven2008前来接分

请kieven2008前来接分,多谢你的帮助 否则我可能也要在这个问题了花几周时间,也有可能解决不了这个问题。…

查看全部问答>

请教下大家如何更好的调试wince驱动

RT,因为一直都是自己摸索着学,我都是把驱动整个写好然后再加载到系统中调试的,不知道大家有没有更好的办法,最好能走单步的。…

查看全部问答>

cygwin下挂接问题

执行环境是cgywin系统 创建文件映像: dd if=/dev/zero of=images/initrd.img bs=1k count=8192 建立文件系统并安装: /usr/sbin/mke2fs -F -v -m0 images/initrd.img mount e:/usr/local/armlinux/images/initrd.img /usr/local/armlinux/tmp ...…

查看全部问答>

s3c2440或s3c2410芯片怎么辨别全新的还是旧的

s3c2440或s3c2410芯片怎么辨别全新的还是旧的(重新植过锡球的) …

查看全部问答>

程序查询方式是什么?

程序查询方式是什么? 看了几遍,不是很明白。恳请指教 …

查看全部问答>