打印
[DemoCode下载]

SmartM-M451入门代码

[复制链接]
672|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huahuagg|  楼主 | 2018-10-28 21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
入门代码.rar (3.32 MB)


沙发
huahuagg|  楼主 | 2018-10-28 21:28 | 只看该作者
/************************* Copyright (c) 2014 SmartMcu Team *****************************
*项目名称:SysTick中断-Led灯闪烁
*开发平台:SmartM-M4系列开发板
****************************************************************************************/
#include "SmartM_M4.h"

/*-------------------------------------------------------*/
/*                     全局变量                          */
/*-------------------------------------------------------*/
VOLATILE BOOL g_vbSysTickEvent = FALSE;


/*-------------------------------------------------------*/
/*                        函数                           */
/*-------------------------------------------------------*/


/****************************************
*函数名称:SysTickInitWithInterrput
*输    入:ms -毫秒
*输    出:无
*功    能:SysTick初始化并使能中断
******************************************/
VOID SysTickInitWithInterrput(UINT32 ms)
{
                /* 1.SysTick的自动重载值的设置 */
    SysTick->LOAD = ms * 12 * 1000;
       
                /* 2.为NVIC SysTick中断设置优先级 */        
                NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);

    /* 3.清零计数器*/
    SysTick->VAL  = (0x00);
       
                /*4.SysTick的时钟源选择为外部晶振、使能计数器、使能SysTick中断*/
    SysTick->CTRL =  SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_TICKINT_Msk   ;                
}


/****************************************
*函数名称:main
*输    入:无
*输    出:无
*功    能:函数主体
******************************************/
int32_t main(void)
{
                BOOL b = FALSE;

                PROTECT_REG
                (
                        /* 系统时钟初始化 */
                        SYS_Init(PLL_CLOCK);
    )

                /* PB8引脚初始化为输出模式 */
                GPIO_SetMode(PB,BIT8,GPIO_MODE_OUTPUT);
       
                SysTickInitWithInterrput(250);
       
    while(1)
    {
                                if(g_vbSysTickEvent)
                                {
                                                g_vbSysTickEvent = FALSE;
                                       
                                                PB8 = b;
                                       
                                                b = !b;
                                       
                                }               
                }
}


/*-------------------------------------------------------*/
/*                      中断函数                         */
/*-------------------------------------------------------*/
VOID SysTick_Handler(VOID)
{
                g_vbSysTickEvent = TRUE;
}






使用特权

评论回复
板凳
21mengnan| | 2018-10-28 21:51 | 只看该作者
希望更好用

使用特权

评论回复
地板
734774645| | 2018-10-29 07:53 | 只看该作者
被优化过的库。

使用特权

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

本版积分规则

118

主题

1187

帖子

1

粉丝