注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
申小林的个人空间 https://home.eeworld.com.cn/space-uid-416893.html [收藏] [复制] [分享] [RSS]
日志

【雅特力AT-START-F437评测】-02-FreeRTOS点个灯

已有 387 次阅读2023-6-14 21:02

今天来更新一下最近的进度,自己在雅特力官网找到了一个437的FreeRTOS+LWIP的例程,所以自己想要做一个移植,正好目前有个项目需要用到以太网,所以将计就计,就把代码移植了过来,有兴趣的可以找一下雅特力官网FAQ的帖子,里面有很多东西可以学习,我也是上面看到这个的。这里就直接上代码吧,简单一点。

 

 


#include "at32f435_437_clock.h"
#include "DRV_Delay.h"
#include "DRV_LED.h"
#include "FreeRTOS.h"
#include "task.h"
void LED_Init(void)
{
  gpio_init_type gpio_init_struct;
  crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE );  /* enable the led clock */
  crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE );
  gpio_default_para_init(&gpio_init_struct);/* set default parameter */
  gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;  /* configure the led gpio */
  gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
  gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
  gpio_init_struct.gpio_pins =GPIO_PINS_13 |GPIO_PINS_14|GPIO_PINS_15;
  gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
  gpio_init(GPIOD, &gpio_init_struct);
}


void LED_Flash(void)
{
	
	gpio_bits_set(GPIOD,GPIO_PINS_13);
	vTaskDelay(100);
	gpio_bits_set(GPIOD,GPIO_PINS_14);
	vTaskDelay(100);

	gpio_bits_set(GPIOD,GPIO_PINS_15);
	vTaskDelay(100);
	gpio_bits_reset(GPIOD,GPIO_PINS_13);
	
	vTaskDelay(300);
	gpio_bits_reset(GPIOD,GPIO_PINS_14);
	vTaskDelay(100);
	gpio_bits_reset(GPIOD,GPIO_PINS_15);
	vTaskDelay(100);

}


void LED_Test_Task(void)
{

    LED_Init();
	while(1)
     {
	     LED_Flash();
	 }
}

上面的是LED闪烁的代码,下面来看看主程序,

我把代码打包上来,大家一起交流啊。

最后来个视频,闪一闪。

98c97d7992a2e0cbc5dffa27155ffa60

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章