历史上的今天
返回首页

历史上的今天

今天是:2024年12月24日(星期二)

正在发生

2018年12月24日 | SysTick功能总结

2018-12-24 来源:eefocus

一、初始化SysTick


按1ms来设置systick,也可以除以1000000。按1us来设置

SysTick_Config(SystemCoreClock / 1000); //SysTick开启系统tick定时器并初始化其中断,1ms


二、systick的函数


// cycles per microsecond

static volatile uint32_t usTicks = 0;

// current uptime for 1kHz systick timer. will rollover after 49 days. hopefully we won't care.

volatile uint32_t sysTickUptime = 0;


// SysTick

void SysTick_Handler(void)

{

    sysTickUptime++;

}


//delay ms

void DelayMs(uint16_t nms)

{

    uint32_t t0=micros();

    while(micros() - t0 < nms * 1000);

}


// Return system uptime in microseconds (rollover in 70minutes)

//返回 us

uint32_t micros(void)

{

    register uint32_t ms, cycle_cnt;

    do {

        ms = sysTickUptime;

        cycle_cnt = SysTick->VAL;

    } while (ms != sysTickUptime);

    return (ms * 1000) + (usTicks * 1000 - cycle_cnt) / usTicks;

}


// Return system uptime in milliseconds (rollover in 49 days)

uint32_t millis(void)

{

    return sysTickUptime;

}

systick启动后会进入SysTick_Handler()的中断,


三、少了重要的一部,哭~T.T


开启RCC时钟!!!!!

void cycleCounterInit(void)

{

    RCC_ClocksTypeDef clocks;

    RCC_GetClocksFreq(&clocks);

    usTicks = clocks.SYSCLK_Frequency / 1000000;

}


遇到的错误:我在初始化MPU6050时,写入数据特别慢。明明计时都准的,不知道为什么特别慢。其他还都能顺利运行。


最后发现时RCC的时钟有问题。


推荐阅读

史海拾趣

CNC Tech公司的发展小趣事

CNC Tech公司深知,在竞争激烈的电子行业中,品质是赢得客户信任和市场口碑的关键。因此,公司始终坚持品质至上的原则,从原材料采购到生产制造的每一个环节都严格把控品质。CNC Tech还建立了完善的品质管理体系,通过严格的质量检测和持续的技术改进,确保每一台出厂的设备都能达到客户的期望和要求。正是凭借这种对品质的执着追求,CNC Tech赢得了广大客户的信赖和好评。

Circuit Assembly公司的发展小趣事

CNC Tech公司的创立源于几位电子工程领域的资深专家对于高精度数控加工技术的共同追求。他们发现,随着电子行业的快速发展,对高精度、高效率的数控加工技术的需求日益迫切。于是,他们决定集结力量,共同创立CNC Tech公司,专注于研发和生产先进的数控加工设备。凭借着对技术的执着和热情,CNC Tech在创立初期就成功开发出多款具有竞争力的产品,奠定了其在行业内的技术基石。

Auris公司的发展小趣事

在不断追求技术创新的道路上,Auris公司并未止步。近年来,该公司正在积极研发柔性机器人技术,这种技术有望在治疗喉咙、肺和肠胃疾病方面发挥重要作用。柔性机器人的研发不仅展示了Auris在技术创新方面的持续努力,也为其在未来的医疗市场中抢占先机提供了有力支持。

这五个故事展示了Auris公司在电子行业中的发展历程,从创始人的科技愿景到技术突破获得认可,再到与强生的合作以及柔性机器人的研发,每一步都体现了Auris对于技术创新和市场拓展的不懈追求。这些事实性的故事不仅展现了Auris公司的成长轨迹,也反映了电子行业中技术创新和市场竞争的激烈态势。

C&H Technology公司的发展小趣事

为了进一步提升竞争力,C&H Technology积极寻求与其他企业的战略合作。公司与一家知名的手机制造商签订了长期合作协议,共同开发定制化芯片解决方案。同时,C&H Technology还与一家领先的半导体生产企业建立了战略联盟,共同研发新型半导体材料和生产工艺。这些战略合作不仅为公司带来了更多的商业机会,也提升了公司的技术水平和品牌影响力。

ADPOW公司的发展小趣事

随着电源管理技术的不断成熟,ADPOW公司开始将技术应用于更多领域,推出了一系列创新产品。这些产品不仅在性能上有所提升,更在外观设计、用户体验等方面进行了优化。同时,公司积极拓展市场,与多家电子设备制造商建立合作关系,将产品广泛应用于手机、电脑、家电等领域。

EMS GmbH公司的发展小趣事

随着公司技术的不断成熟和产品的不断优化,EMS GmbH公司开始积极拓展市场。公司不仅在欧洲市场取得了显著的成绩,还逐渐将业务拓展至全球范围。通过参加国际展会、与合作伙伴建立战略合作关系等方式,EMS GmbH公司不断提升品牌知名度和影响力。同时,公司还注重产品质量和服务质量的提升,以确保在激烈的市场竞争中保持竞争优势。

问答坊 | AI 解惑

有趣的随机数,有兴趣可以来做做

转自:西邮Linux兴趣小组 下面是随机产生1--10之间的不同值的一段程序: #include #include #include main() {         int i, j, n;         int a[10]; &nbs ...…

查看全部问答>

抢分题:80c51和89s52有啥区别?

抢分题:80c51和89s52有啥区别?…

查看全部问答>

msp430单片机中断调试疑问

请教:我用EW4.10单步调试定时器A时,用view-register观察TAR中的值没有变化,点击GO运行后也没有变化,我知道用IAR进行simulate模拟中断时要用Forced Interrupt-trigger触发中断,和KEIL IDE 非常不一样,而且即使中断后中断标志位也没有变化,不 ...…

查看全部问答>

如何使PCI 9054 由触发高/低电平来通知用户

刚接触PCI卡!现在同事已经把PCI卡的驱动基本做好了!现要求外界来的数据触发个高或低电平,由所触发的高低电平来提醒用户外界数据进来了!如何实现?具体是首先是如何触发高低电平?如何通知用户!谢谢!分数不够了!请大家勿闲分少!…

查看全部问答>

wince5.0 hive 使用,出现问题???

使用的s3c2440+wince5,想要在flash保存注册信息,比如touch信息,新建的连接等等 当sysgen后下载运行,结果wince不能启动。当去掉“hive_based_registry”又可以启动 请问这是何原因???如何解决??? 1.当我在PB中添加了“hive_based_registry ...…

查看全部问答>

MSP430™ 的图形代码生成工具

为什么下不了啊!!http://focus.ti.com.cn/cn/docs/toolsw/folders/print/grace.html?DCMP=Grace&HQS=Other+EM+grace_em_sw…

查看全部问答>

用于工业控制Freescale和ST的8位MCU哪家好?

                                 资料都不好找,口碑都比较好,用的人都比较少,但是到底谁更值得我选择?头疼啊。大家帮帮忙,谁的抗干扰更好,谁 ...…

查看全部问答>

针对移动电话的闪光灯 LED 驱动器

高效的相机闪光灯 LED 驱动高分辨率相机在最低光照环境下,要求有高亮度的闪光来完成照相。客户要求提供一种闪光灯解决方案作为手机的标准功能。安装闪光灯的移动电话已经成为一种有吸引力的卖点。这种特性需要高光通量,从而给高效 LED 驱动器系统 ...…

查看全部问答>

Keil软件运行出错,WIN7 64位 旗舰版

本来几个小时前运行还好好的,现在打开就变成这个样子了,哪位大哥能帮帮忙啊,重新卸载安装也不行 …

查看全部问答>

第一次见到FPGA实物的小菜鸟有问题求助

今天第一次在实验室见到FPGA芯片实物,Xilinx的,想请教各位一下,那个FPGA芯片正面有个金属盖,上面写着品牌名、型号和一些其他参数,和以往见到的芯片外观不同。这个金属盖起什么作用,可以取下来吗,取下来会有什么影响吗…

查看全部问答>