打印
[demo程序]

F100,登登等灯,凳灯等灯,来个跑马灯

[复制链接]
1040|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
arm86|  楼主 | 2018-4-26 15:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
基于 GPIO_demo.uvprojx 工程的 GPIO_demo.c 文件。开发板上的 D2,D3,D4 都是 Red-LED。

拷贝粘贴,与稍微改动,即可完成。

/**********************************************************************
*
* 实验名称:GPIO端口输出配置实验
* 实验平台:NV32开发板
* 板载芯片:NV32F100FL64E
* 实验效果:配置GPIO端口为输出引脚,切换端口数据输出点亮LED
*
************************************************************************/

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

int main (void);
void RTC_Task(void);

volatile uint32_t led_flag;

/********************************************************************/
int main (void)
{
    /*系统初始化*/
    sysinit();
    cpu_identify();

    RTC_ConfigType  sRTCConfig;
    RTC_ConfigType  *pRTCConfig = &sRTCConfig;  

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

    led_flag = 0;

    /* 配置RTC模块每隔1s产生一次中断*/
    pRTCConfig->u16ModuloValue = 9;                                      
    pRTCConfig->bInterruptEn   = RTC_INTERRUPT_ENABLE;     /* 使能中断*/
    pRTCConfig->bClockSource   = RTC_CLKSRC_1KHZ;          /*选择1KHz时钟源*/
    pRTCConfig->bClockPresaler = RTC_CLK_PRESCALER_100;    /*时钟分频系数100*/
   
    RTC_SetCallback(RTC_Task);
    RTC_Init(pRTCConfig);

    /*初始化 PE7, PH1, PH2 为输出引脚--通过32位引脚掩码确定要初始化的引脚 */
    GPIO_Init(GPIOB, GPIO_PTE7_MASK, GPIO_PinOutput);
    GPIO_Init(GPIOB, GPIO_PTH1_MASK, GPIO_PinOutput);
    GPIO_Init(GPIOB, GPIO_PTH2_MASK, GPIO_PinOutput);
    /*初始化PE7为输出引脚--通过定义的GPIO引脚名确定要初始化的引脚*/
    /* GPIO_PinInit(GPIO_PTE7, GPIO_PinOutput); */
    GPIO_PinSet(GPIO_PTE7);     /* 置位,灯灭 */
    GPIO_PinSet(GPIO_PTH1);
    GPIO_PinSet(GPIO_PTH2);

    while (1);
}

/*****************************************************************************//*!
*
* [url=home.php?mod=space&uid=247401]@brief[/url] RTC回调函数
*        
* @param  none
*
* [url=home.php?mod=space&uid=266161]@return[/url] none
*
*****************************************************************************/

void RTC_Task(void)
{
    led_flag++;
    /* 切换PE7输出,闪亮LED1 */
    /* 方法1.切换PE7端口数据输出————通过32位引脚掩码确定要切换输出的引脚 */
    if(1==(led_flag%3)) {
        GPIO_Toggle(GPIOB, GPIO_PTE7_MASK);
        GPIO_PinSet(GPIO_PTH1);
        GPIO_PinSet(GPIO_PTH2);
    }
    if(2==(led_flag%3)) {
        GPIO_Toggle(GPIOB, GPIO_PTH1_MASK);
        GPIO_PinSet(GPIO_PTE7);
        GPIO_PinSet(GPIO_PTH2);
    }
    if(0==(led_flag%3)) {
        GPIO_Toggle(GPIOB, GPIO_PTH2_MASK);
        GPIO_PinSet(GPIO_PTE7);
        GPIO_PinSet(GPIO_PTH1);
    }
   
    /* 方法2.切换PE7端口数据输出----通过定义的GPIO引脚名确定要切换输出的引脚 */
    /* GPIO_PinToggle(GPIO_PTE7); */
}
/********************************************************************/





相关帖子

沙发
arm86|  楼主 | 2018-4-26 16:07 | 只看该作者
本帖最后由 arm86 于 2018-4-26 16:09 编辑

对齐个打印信息还得烧录几次才调整好
--System Log BEGINS--

Familly ID = 0x0, Sub-family ID = 0x2, Revision ID = 0x0, Pin ID = 0x7

SWD Reset

--System Log ENDS--

Running the GPIO_demo project.
--System Log BEGINS--

Familly ID = 0x0, Sub-family ID = 0x2, Revision ID = 0x0, Pin ID = 0x7

Pin Reset

--System Log ENDS--

Running the GPIO_demo project.



使用特权

评论回复
板凳
arm86|  楼主 | 2018-4-26 17:04 | 只看该作者
NV32F101FL64,引脚与 F100 兼容。

使用特权

评论回复
地板
123ycli| | 2018-5-19 10:14 | 只看该作者
arm86 发表于 2018-4-26 17:04
NV32F101FL64,引脚与 F100 兼容。

完全兼容吗?只是主频提高了?

使用特权

评论回复
5
HKingS| | 2018-5-19 15:58 | 只看该作者
void RTC_Task(void)这个是中断函数吗?

使用特权

评论回复
6
余三水| | 2018-5-29 09:28 | 只看该作者
这个printf是串口还是stlink输出的呢?

使用特权

评论回复
7
arm86|  楼主 | 2018-5-30 08:02 | 只看该作者
余三水 发表于 2018-5-29 09:28
这个printf是串口还是stlink输出的呢?

串口

使用特权

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

本版积分规则

36

主题

745

帖子

5

粉丝