STM32F103RB 移植FreeRTOS

本文介绍了一个在STM32F103RB平台上移植LED闪烁任务的具体实现方法。通过使用FreeRTOS实时操作系统,实现了LED定时闪烁的功能。文中详细展示了vParTestToggleLED函数用于控制LED的状态切换,以及vLEDFlashTask任务负责LED的周期性闪烁。
摘要由CSDN通过智能技术生成

移植平台STM32F103RB单板

移植参考文献:http://wenku.baidu.com/link?url=pSwvtjQSfc5MiDcgPx8g0llbXUEV0GWH_QP7IMxIDdYqGPtSkSA40KiDprZZxEW4zlJkckZdESCPtYU9peKOLc-XGfYoNgygAgLd5MR1Wh7


PA8口LED可以正常闪烁

void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{
//unsigned short usBit;

	vTaskSuspendAll();
	{
	//	if( uxLED < partstMAX_OUTPUT_LED )
	//	{
			if (uxLED)
			{
				GPIO_SetBits(GPIOA,GPIO_Pin_8);	
				//GPIO_ResetBits(GPIOD,GPIO_Pin_2);
				
			}
			else
			{
				//GPIO_SetBits(GPIOD,GPIO_Pin_2);	
				GPIO_ResetBits(GPIOA,GPIO_Pin_8);
			}
//			usBit = partstFIRST_LED << uxLED;

//			if( usOutputValue & usBit )
//			{
//				usOutputValue &= ~usBit;
//			}
//			else
//			{
//				usOutputValue |= usBit;
//			}

//			GPIO_Write( GPIOC, usOutputValue );
	//	}
	}
	xTaskResumeAll();
}


static void vLEDFlashTask( void *pvParameters )
{
xLEDParameters *pxParameters;

	/* Queue a message for printing to say the task has started. */
	//vPrintDisplayMessage( &pcTaskStartMsg );

	pxParameters = ( xLEDParameters * ) pvParameters;

	for(;;)
	{
		/* Delay for half the flash period then turn the LED on. */
		vTaskDelay( pxParameters->xFlashRate / ( TickType_t ) 2 );
		vParTestToggleLED( pxParameters->uxLED );

		/* Delay for half the flash period then turn the LED off. */
		vTaskDelay( pxParameters->xFlashRate / ( TickType_t ) 2 );
		vParTestToggleLED( 1 );
	}
}


代码下载链接

http://pan.baidu.com/s/1kTEBKeb





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值