打印
[demo程序]

LED 闪灯

[复制链接]
1032|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
holts|  楼主 | 2016-12-3 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LED, pi, tc, IO, RTC
直接在官方例程上改的闪灯程序,感觉实再的方法好笨,RTC还没看懂,没办法慢慢来吧。



/***************************************************************************
*
* [url=home.php?mod=space&uid=247401]@brief[/url] providing GPIO demo
*
*******************************************************************************/

#include "common.h"
#include "ics.h"
#include "rtc.h"
#include "uart.h"
#include "gpio.h"
#include "sysinit.h"
#include "start.h"


/******************************************************************************
* Global variables
******************************************************************************/
volatile uint32_t Switch = 1;
               
/******************************************************************************
* Constants and macros
******************************************************************************/

/******************************************************************************
* Local types
******************************************************************************/

/******************************************************************************
* Local function prototypes
******************************************************************************/

/******************************************************************************
* Local variables
******************************************************************************/

/******************************************************************************
* Local functions
******************************************************************************/
int main (void);
void RTC_Task(void);
/******************************************************************************
* Global functions
******************************************************************************/

/********************************************************************/
int main (void)
{
    /* Perform processor initialization */
    sysinit();
    cpu_identify();
        

        
    RTC_ConfigType  sRTCConfig;
    RTC_ConfigType  *pRTCConfig = &sRTCConfig;  

    printf("\nRunning the GPIO_demo project.\n");

    /* configure RTC to 1Hz interrupt frequency */
    pRTCConfig->u16ModuloValue = 9;                                      
    pRTCConfig->bInterruptEn   = RTC_INTERRUPT_ENABLE;     /* enable interrupt */
    pRTCConfig->bClockSource   = RTC_CLKSRC_1KHZ;          /*clock source is 1khz*/
    pRTCConfig->bClockPresaler = RTC_CLK_PRESCALER_100;    /*prescaler is 100*/
   
    RTC_SetCallback(RTC_Task);
    RTC_Init(pRTCConfig);

    /* way 1. GPIO initialize by multiple pin mask */
    GPIO_Init(GPIOB, GPIO_PTE7_MASK, GPIO_PinOutput);
    /* way 2. GPIO initialize single pin name */
    /* GPIO_PinInit(GPIO_PTE7, GPIO_PinOutput); */

    while (1)
                {
               
                };
}

/*****************************************************************************//*!
*
* [url=home.php?mod=space&uid=247401]@brief[/url] callback routine of RTC driver which does what you want to do at
*        every RTC period.
*        
* @param  none
*
* [url=home.php?mod=space&uid=266161]@return[/url] none
*
* [url=home.php?mod=space&uid=72445]@[/url] Pass/ Fail criteria: none
*****************************************************************************/

void RTC_Task(void)
{
         
    /* toggle LED1 */
    /* way 1. toggle LED1 by multiple pin mask */
    /* GPIO_Toggle(GPIOB, GPIO_PTE7_MASK); */
   
    /* way2. toggle LED by single pin name */
    /* GPIO_PinToggle(GPIO_PTE7); */
        
          if (Switch == 0) GPIO_PinClear(GPIO_PTE7);
          if (Switch == 1) GPIO_PinSet(GPIO_PTE7);

          Switch ++;
          if (Switch == 2) {Switch = 0;}
}
/********************************************************************/


相关帖子

沙发
ppjxdz| | 2016-12-14 21:30 | 只看该作者
xdcvjklzx.zxcv,zxc,zx

使用特权

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

本版积分规则

45

主题

769

帖子

4

粉丝