打印
[STM32F4]

为什么STM32F429的库函数里没有控制SYSTICK寄存器的函数

[复制链接]
2956|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjben|  楼主 | 2014-3-3 12:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么STM32F429的库函数里没有控制SYSTICK寄存器的函数?是要自己写的吗?
沙发
Ketose| | 2014-3-3 14:46 | 只看该作者
SYSTICK操作简单,不需要使用函数库。

使用特权

评论回复
板凳
ilovezeno| | 2014-3-3 15:06 | 只看该作者
因为那是CMSIS函数库的管理范围啊。。。。

使用特权

评论回复
地板
ilovezeno| | 2014-3-3 15:06 | 只看该作者
Ketose 发表于 2014-3-3 14:46
SYSTICK操作简单,不需要使用函数库。

请不要张嘴就胡说

使用特权

评论回复
5
judejie83| | 2014-3-8 13:42 | 只看该作者
这个在启动代码中已经导入:
IMPORT  SystemInit
        IMPORT  __main

使用特权

评论回复
6
grant_jx| | 2014-3-8 19:05 | 只看该作者
ilovezeno 发表于 2014-3-3 15:06
因为那是CMSIS函数库的管理范围啊。。。。

对的,因为ARM将Systick放到了CMSIS里面,需要可以去看ARM的CMSIS,
打开库的话,在STM32F4xx\lib\CMSIS\Include\core_cm4.h可以找到原型

/* ##################################    SysTick function  ############################################ */
/** \ingroup  CMSIS_Core_FunctionInterface
    \defgroup CMSIS_Core_SysTickFunctions CMSIS Core SysTick Functions
  @{
*/

#if (__Vendor_SysTickConfig == 0)

/** \brief  System Tick Configuration

    This function initialises the system tick timer and its interrupt and start the system tick timer.
    Counter is in free running mode to generate periodical interrupts.

    \param [in]  ticks  Number of ticks between two interrupts
    \return          0  Function succeeded
    \return          1  Function failed
*/
static __INLINE uint32_t SysTick_Config(uint32_t ticks)
{
  if (ticks > SysTick_LOAD_RELOAD_Msk)  return (1);            /* Reload value impossible */

  SysTick->LOAD  = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;      /* set reload register */
  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Cortex-M0 System Interrupts */
  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
                   SysTick_CTRL_TICKINT_Msk   |
                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
  return (0);                                                  /* Function successful */
}

#endif




使用特权

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

本版积分规则

24

主题

99

帖子

1

粉丝