在编写流水灯程序时发现,和对之前用的51单片机所用的普通软件延时函数有所不同,51的普通软件延时函数我们一般是这样编写的:
#include #include #define uint unsigned int #define uchar unsigned char void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } 然而我们在对STM32利用库函数进行编程时采用此延时函数则完全行不通,而是采用下面的延时函数 #include "stm32f10x.h" void delay(u16 x) { u16 i=0; while(x--) { i=12000; while(i--); } } 可能也有一些博友和我一样在网上找了一些好用的代码,并顺便记了下来,这里也附带粘贴一些比较准确的软件延时函数 void delay_ms(u32 time) { u32i=8000*time; //数值自己定义,6000~9000 while(i--); } void delay_ms(u16 ms) { u32 temp; SysTick->LOAD= 9000*ms; SysTick->VAL=0X00;//清空计数器 SysTick->CTRL=0X01;//使能,减到零无动作,采用外部时钟源 do { temp=SysTick->CTRL;//读取当前倒计数值 }while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到达 SysTick->CTRL=0x00;//关闭计数器 SysTick->VAL=0X00; //清空计数器 } 微秒级延时 void delay_us(u32 time) { u32i=8*time; //数值自己定义6~9 while(i--); } void delay_us(u32 us) { u32 temp; SysTick->LOAD= 9*us; SysTick->VAL=0X00;//清空计数器 SysTick->CTRL=0X01;//使能,减到零无动作,采用外部时钟源 do { temp=SysTick->CTRL;//读取当前倒计数值 }while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到达 SysTick->CTRL=0x00;//关闭计数器 SysTick->VAL=0X00; //清空计数器 } “stdint.h” typedef signed char int8_t; typedef signedshort int int16_t; typedef signed int int32_t; typedef signed __INT64 int64_t; /* exact-widthunsigned integer types */ typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned __INT64 uint64_t; typedef int32_t s32; typedef int16_t s16; typedef int8_t s8; typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8;
上一篇:STM32中数据类型定义 U8 U16 U32解释说明
下一篇:最后一页
推荐阅读
史海拾趣
在电子行业竞争日益激烈的背景下,AMP公司面临着来自同行的巨大压力。为了应对这一挑战,公司进行了战略调整,将重心转向高端电子产品的研发和生产。通过不断提升产品性能和品质,AMP公司成功打造了多个高端品牌,并在细分市场中取得了显著优势。此外,公司还积极拓展新的应用领域,为未来发展奠定了坚实基础。
Advanced Microelectronic Products Inc(以下简称AMP公司)在电子行业中崭露头角,源于其一次关键的技术突破。公司研发团队成功开发出一种新型高效能、低功耗的芯片,该芯片在智能手机市场具有广阔的应用前景。凭借这一技术优势,AMP公司迅速与多家手机制造商建立合作关系,实现了市场的大规模扩张。公司随后进一步加大研发投入,不断推出创新产品,巩固了其在行业内的领先地位。
在电子行业的快速发展中,Cellergy公司以一项创新技术打破了行业内的常规。该公司成功研发出了一种新型电容器,其性能远超市场上同类产品。这一技术突破不仅为Cellergy公司赢得了大量订单,还使其在电子行业中的地位得到了显著提升。随着技术的不断完善和市场的不断拓展,Cellergy公司逐渐成为了电容器领域的佼佼者。
多年来,COILCRAFT公司凭借其卓越的产品质量、创新能力和良好的服务赢得了广泛的赞誉。在电子行业中,COILCRAFT已经成为高性能磁性元件设计、制造和分销领域的知名品牌。许多知名企业都选择与其合作,共同推动电子行业的发展。同时,COILCRAFT还积极参与行业交流和合作,为推动行业的进步贡献自己的力量。
以上这些故事只是COILCRAFT公司发展历程中的一部分,它们共同展示了这家公司在电子行业中的成长与壮大。未来,随着科技的不断发展和市场需求的不断变化,COILCRAFT将继续保持创新精神,为客户提供更优质的产品和服务。
在追求产品性能的同时,COILCRAFT公司也非常注重产品质量和环保。公司采用先进的设备和工艺,确保产品的稳定性和可靠性。此外,公司还积极采取措施减少能源和资源的消耗,优化生产流程,降低废物排放。这种对质量和环保的坚持使得COILCRAFT在行业中树立了良好的形象。
随着市场的不断拓展,FTDI也面临着诸多挑战,包括如何吸纳优秀的技术人才、打击假冒芯片以及提供本地化的技术支持等。为了应对这些挑战,FTDI采取了多项措施,包括引进经验丰富的工程师和潜力大学毕业生充实技术团队,加强对本地分销商的培训,以及增加对重点应用市场的技术支持力度。这些措施不仅提升了FTDI的技术实力和市场响应速度,也进一步巩固了其在全球市场的地位。
在PC上用vmware模拟了另一台PC, 又模拟了个软驱灌了一bootrom, 现在bootrom能启动并从主机ftp取得vxWorks文件。 加载并启动成功(蓝屏上打印Starting at 0x308000...) WDB也能连上了。 问题来了,我在usrRoot里启动了一任务,循环用printf打 ...… 查看全部问答∨ |
面试官给我一个星期的时间做一个报告。关于技术,成本,开发周期的。 别的不管,就说技术方面。大家帮我提一些技术上需要考虑的问题,开发的困难之处,谢谢。所有的分相送… 查看全部问答∨ |
以上两个图是对同一信号发生电路的仿真,前者是proteus的,后者是multisim的,proteus完全没有产生正弦波形,其输出基本不变,是不是我选的proteus的器件模型有问题啊, 还是说proteus的仿真设置有问题?… 查看全部问答∨ |