打印
[DemoCode下载]

[NANO103][FreeRTOS]NANO103_FreeRTOS

[复制链接]
1395|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
YWBIN|  楼主 | 2018-3-21 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
附件程序为在新唐NANO103上运行FreeRTOS的Demo,有需要的朋友可以参考下。

[NANO103][FreeRTOS]NANO103_FreeRTOS.rar

4.34 MB

沙发
天灵灵地灵灵| | 2018-3-21 16:45 | 只看该作者
下载学习一下,也不介绍这个例子跑的是什么。

使用特权

评论回复
板凳
天灵灵地灵灵| | 2018-3-21 16:47 | 只看该作者
/******************************************************************************
* [url=home.php?mod=space&uid=288409]@file[/url]     main.c
* [url=home.php?mod=space&uid=895143]@version[/url]  V1.00
* $Revision: 2 $
* $Date: 15/12/11 3:38p $
* [url=home.php?mod=space&uid=247401]@brief[/url]    Show hard fault information when hard fault happened.
*
* @note
* Copyright (C) 2015 Nuvoton Technology Corp. All rights reserved.
*****************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "Nano103.h"


/* Kernel includes. */
#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
#include "semphr.h"


void SYS_Init(void)
{
    /*---------------------------------------------------------------------------------------------------------*/
    /* Init System Clock                                                                                       */
    /*---------------------------------------------------------------------------------------------------------*/
    /* Unlock protected registers */
    SYS_UnlockReg();

    /* Enable External XTAL (4~24 MHz) */
    //CLK->PWRCTL &= ~CLK_PWRCTL_HXT_EN_Msk;
    CLK->PWRCTL |= CLK_PWRCTL_HXTEN_Msk; // HXT Enabled

    /* Waiting for 12MHz clock ready */
    CLK_WaitClockReady( CLK_STATUS_HXTSTB_Msk);

    /* Switch HCLK clock source to XTAL */
    CLK->CLKSEL0 = (CLK->CLKSEL0 &~ CLK_CLKSEL0_HCLKSEL_Msk) | (CLK_CLKSEL0_HCLKSEL_HXT);

    /* Enable IP clock */
    CLK->APBCLK |= CLK_APBCLK_UART0_EN; // UART0 Clock Enable

    /* Select IP clock source */
    CLK->CLKSEL1 &= ~CLK_CLKSEL1_UART0SEL_Msk;
    CLK->CLKSEL1 |= (0x0 << CLK_CLKSEL1_UART0SEL_Pos);// Clock source from external 12 MHz crystal clock

    /* Update System Core Clock */
    /* User can use SystemCoreClockUpdate() to calculate PllClock, SystemCoreClock and CycylesPerUs automatically. */
    SystemCoreClockUpdate();

    /*---------------------------------------------------------------------------------------------------------*/
    /* Init I/O Multi-function                                                                                 */
    /*---------------------------------------------------------------------------------------------------------*/
    /* Set PB multi-function pins for UART0 RXD and TXD  */
    SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB0MFP_Msk|SYS_GPB_MFPL_PB1MFP_Msk);
    SYS->GPB_MFPL |=  (SYS_GPB_MFPL_PB0MFP_UART0_RXD|SYS_GPB_MFPL_PB1MFP_UART0_TXD);

    /* Lock protected registers */
    SYS_LockReg();
}


void UART0_Init()
{
    /*---------------------------------------------------------------------------------------------------------*/
    /* Init UART                                                                                               */
    /*---------------------------------------------------------------------------------------------------------*/
    UART_Open(UART0, 115200);
}


void prvSetupHardware(void)
{
    SYS_Init();
    UART0_Init();
}


void Task0(void *pvParameters)
{
    printf("Task0 running ...\n");

    for(;;)
    {   
        printf("Task0\n");
        vTaskDelay(100);
    }
}


void Task1(void *pvParameters)
{
    printf("Task1 running ...\n");

    for(;;)
    {   
        printf("Task1\n");
        vTaskDelay(100);
    }
}


int main(void)
{
    prvSetupHardware();

    xTaskCreate(Task0, (const char *)"Task0", 100, NULL, 1, NULL);
    xTaskCreate(Task1, (const char *)"Task1", 100, NULL, 2, NULL);
    vTaskStartScheduler();

    while(1);
}




使用特权

评论回复
地板
天灵灵地灵灵| | 2018-3-21 16:47 | 只看该作者
我给大家补上,貌似很容易移植

使用特权

评论回复
5
玛尼玛尼哄| | 2018-3-21 17:34 | 只看该作者
好像新唐的所有单片机都支持这个系统。

使用特权

评论回复
6
heisexingqisi| | 2018-3-21 18:16 | 只看该作者
系统的初始化跟裸奔的差不多啊。

使用特权

评论回复
7
xuanhuanzi| | 2018-3-22 09:09 | 只看该作者
貌似所有的RTOS好像都是这么创建任务的。

使用特权

评论回复
8
734774645| | 2018-3-22 22:27 | 只看该作者
学会一种,大部分就都容易入门了。

使用特权

评论回复
9
xinpian101| | 2018-3-24 18:28 | 只看该作者
想学这个是不是还要去下载freertos官网的教程或者说明。

使用特权

评论回复
10
xuanhuanzi| | 2018-3-25 09:15 | 只看该作者
M051能用这个不

使用特权

评论回复
11
dongnanxibei| | 2018-3-25 16:02 | 只看该作者
这个系统里可以调用官方提供的那些库函数吗

使用特权

评论回复
12
零壹_电子| | 2018-8-17 14:51 | 只看该作者
阿里嘎多

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

46

帖子

1

粉丝