首页->【STM32最强F7探索大冒险】

76 0

鸣谢:由衷的感谢正点原子开放的STM32F7系列资料,让F7的学习变得更加便捷

这次是LWIP正式开始的第零步,uC/OS II的移植。

实验材料:正点原子 例1-1 UCOSII 移植 

为了让uC/OS II在STM32F767 Nucleo跑起来,需要对原子的例程做几点小小改动,步骤如下

1.将例程中SYSTEM目录下的三个文件替换为【STM32最强F7探索大冒险】+ STM32F767 Nucleo-USART移花接木OK 例子中修改过的delay.c、sys.c和uart.c。

2.修改Device为STM32F767ZI。

Image 1.jpg

3.修改led.c中用户LED的定义。

void LED_Init(void)
{
    GPIO_InitTypeDef GPIO_Initure;
    __HAL_RCC_GPIOB_CLK_ENABLE();			//开启GPIOB时钟
	
    GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_7|GPIO_PIN_14; //PB0,1
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;  //推挽输出
    GPIO_Initure.Pull=GPIO_PULLUP;          //上拉
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;     //高速
    HAL_GPIO_Init(GPIOB,&GPIO_Initure);
	
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);	//PB1置0	
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET);	//PB1置0
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_SET);	//PB1置1
}

4.修改led.h中用户LED的操作。

//LED端口定义
#define LED0(n)		(n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET))
#define LED0_Toggle (HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_7))
#define LED1(n)		(n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET))
#define LED1_Toggle (HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0))

void LED_Init(void);
#endif

5.修改stm32f7xx_hal_conf.h中外部晶振频率为8Mhz。

#if !defined  (HSE_VALUE) 
  #define HSE_VALUE    ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */

编译、下载后LED1、LED2根据设置的时间间隔开始交替闪烁点亮。串口输出的信息中double_num以0.01开始递增。

T.gif

UCOSII移植.7z


作者于2016-12-31 21:41:12修改!
楼主可见