你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32的systick时钟没法定时到1us?

[复制链接]
聿怀嘿嘿 提问时间:2015-1-10 21:31 /
阅读主题, 点击返回1楼
收藏 1 评论31 发布时间:2015-1-10 21:31
31个回答
cxtarm 回答时间:2015-1-11 11:16:21
定时到1us没问题,如果你中断处理函数太长可能就有问题
聿怀嘿嘿 回答时间:2015-1-11 11:25:20
大秦正声 发表于 2015-1-11 10:59
用的外部晶振?
延时6us呢?

确实是这样、用的内部晶振、从10us到1us中间某一点开始就不正常了
QianFan 回答时间:2015-1-11 12:51:28
聿怀嘿嘿 发表于 2015-1-11 10:36
谢谢!不过第二种方法具体要怎样实现呢?是设定好后不断查询?

还是while
xyc2690 回答时间:2015-1-11 13:32:23
本帖最后由 xyc2690 于 2015-1-11 13:33 编辑

static __INLINE uint32_t SysTick_Config(uint32_t ticks)
{
  if (ticks > SYSTICK_MAXCOUNT)  return (1);                          /* Reload value impossible */

  SysTick->LOAD  =  (ticks & SYSTICK_MAXCOUNT) - 1;          /* set reload register */
  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);     /* set Priority for Cortex-M0 System Interrupts */
  SysTick->VAL   =  (0x00);                                                              /* Load the SysTick Counter Value */
  SysTick->CTRL = (1 << SYSTICK_CLKSOURCE) | (1<<SYSTICK_ENABLE) | (1<<SYSTICK_TICKINT); /* Enable SysTick IRQ and SysTick Timer */
  return (0);                                                                            /* Function successful */
}你看看这个,SYSTICK_MAXCOUNT 是多少,超过的话就一直while(1)了。
聿怀嘿嘿 回答时间:2015-1-11 17:04:18
xyc2690 发表于 2015-1-11 13:32
static __INLINE uint32_t SysTick_Config(uint32_t ticks)
{
  if (ticks > SYSTICK_MAXCOUNT)  return ( ...

定时10us,也就是tick=SystemCoreClock / 100000,定时器正常工作、说明SystemCoreClock / 100000《=SYSTICK_MAXCOUNT;那么1us就是tick=SystemCoreClock / 1000000肯定要小于SYSTICK_MAXCOUNT
木易-357428 回答时间:2015-1-11 17:32:27
你仿真一下看看tick设置的具体是多少,是不是设置为零了,根本就不会工作的。
xyc2690 回答时间:2015-1-11 18:09:51
现在调通过了没?我的板子坏了,没法调试。。。
你用的库函数,延时1us需要用到systic中断,是不是在别的中断里调用这个延时?
试试用查询方式写呢。
聿怀嘿嘿 回答时间:2015-1-12 12:07:50
xyc2690 发表于 2015-1-11 18:09
现在调通过了没?我的板子坏了,没法调试。。。
你用的库函数,延时1us需要用到systic中断,是不是在别的中 ...

嗯、这两天考完试我再调一调,
火蒂树 回答时间:2015-1-12 14:42:44
1us作为tick可能太短了
中断服务函数一定要尽量短才行
如果要精确延时的话, 还是考虑RTC吧
sourire 回答时间:2017-3-8 20:50:01
那个数有上限 只能到10us

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版