1255|4

1万

帖子

16

TA的资源

版主

楼主
 

【极海APM32F407】4,改写闪灯程序 [复制链接]

 

有的坛友就好看不下去了,为什么要改写闪灯程序?

其实我也不想改,但我从STM32一路杀关斩将过来地,现工作中也是用STM32的标准库。

为了不影响我的程序思路,也让评测进行下去,所以我改写闪灯程序。有的看官会说是不是闲得发贱!恰恰相反本人忙得很,也是为了省写代码的时间。

费话不多说了,上程序:

#include "main.h"
#include "Board.h"
static __IO u32 TimingDelay;
/** @addtogroup Examples
  @{
  */

/** @addtogroup GPIO_Toggle
  @{
  */

/** @defgroup GPIO_Toggle_Functions Functions
  @{
  */

/* Delay */
void Delay(uint32_t count);

void SysTick_Init(void);
void SysTick_Delay_ms(__IO u32 nTime);
void TimingDelay_Decrement(void);

/*!
 * [url=home.php?mod=space&uid=159083]@brief[/url] Main program
 *
 * @param     None
 *
 * @retval    None
 */
int main(void)
{
//    APM_MINI_LEDInit(LED2);
//    APM_MINI_LEDInit(LED3);
	   GPIO_Config_T  configStruct;
	
	   RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOE );

    /** Configure the GPIO_LED pin */
    GPIO_ConfigStructInit(&configStruct);
    configStruct.pin = GPIO_PIN_5|GPIO_PIN_6;
    configStruct.mode = GPIO_MODE_OUT;
    configStruct.speed = GPIO_SPEED_50MHz;

	  GPIO_Config(GPIOE, &configStruct);
    

    while (1)
    {
        
			  SysTick_Delay_ms(1000);
        GPIO_ToggleBit(GPIOE,GPIO_PIN_5);
			  GPIO_ToggleBit(GPIOE,GPIO_PIN_6);
    }
}

/*!
 * @brief     Delay
 *
 * @param     count:  delay count
 *
 * @retval    None
 */
void Delay(uint32_t count)
{
    volatile uint32_t delay = count;
    while(delay--);
}

void SysTick_Init(void)
{
    /** SystemFrequency / 1000 = 1ms */
    if (SysTick_Config(SystemCoreClock / 1000))
    {
        /** Capture error */
        while (1);
    }
}

/*!
 * @brief       Precise Delay
 *
 * @param       nTime in milliseconds
 *
 * @retval      None
 */
void SysTick_Delay_ms(__IO u32 nTime)
{
    TimingDelay = nTime;
    while(TimingDelay != 0);
}

/*!
 * @brief       Decrements the TimingDelay
 *
 * @param       None
 *
 * @retval      None
 */
void TimingDelay_Decrement(void)
{
    if(TimingDelay != 0)
    {
        TimingDelay--;
    }
}

这样就变成了近似天STM32标准库了。

以下是编译截图:

 

程序运行后,同板载闪灯有点不一样,好像闪的快了。

最新回复

感谢分享,像stm32的代码。   详情 回复 发表于 2023-5-26 09:56
点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复
举报

7244

帖子

2

TA的资源

版主

沙发
 

确实改完就像STM32的库,但是每个外设库都要这个改嘛?

点评

不用,下一步我想管脚驱动OLED,得根据情况来说  详情 回复 发表于 2023-5-26 18:05
 
 
 

回复

5263

帖子

239

TA的资源

管理员

板凳
 

闪得更快是因为代码运行效率更快导致的?

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

6107

帖子

4

TA的资源

版主

4
 

感谢分享,像stm32的代码。

 
 
 

回复

1万

帖子

16

TA的资源

版主

5
 
wangerxian 发表于 2023-5-26 09:09 确实改完就像STM32的库,但是每个外设库都要这个改嘛?

不用,下一步我想管脚驱动OLED,得根据情况来说

个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表