历史上的今天
返回首页

历史上的今天

今天是:2025年04月16日(星期三)

正在发生

2019年04月16日 | 关于STM32函数定义

2019-04-16 来源:eefocus

1.*(__IO uint8_t *) CIR_BYTE3_ADDRESS


#define     __IO    volatile             /*!< Defines 'read / write' permissions    


声明    volatile ,目的:使编译器不优化该变量。从相应变量内存中取数。


  /* Check the parameters */

  assert_param(IS_TIM_ALL_PERIPH(TIMx));  //assert _param函数作参数检查用


2.   static:


static局部变量中文名叫静态局部变量。它与普通的局部变量比起来有如下几个区别:


1)位置:静态局部变量被编译器放在全局存储区.data(注意:不在.bss段内,原因见3)),所以它虽然是局部的,但是在程序的整个生命周期中存在,调用完毕后需要手动释放内存空间。


2)访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问。


3)值:静态局部变量如果没有被用户初始化,则会被编译器自动赋值为0,以后每次调用静态局部变量的时候都用上次调用后的值。这个比较好理解,每次函数调用静态局部变量的时候都修改它然后离开,下次读的时候从全局存储区读出的静态局部变量就是上次修改后的值。


3.    extern  外部变量声明


作全局变量用,在本文件中    int  j;


   外部文件声明:  extern      int j;


4.typedef 的应用(有参数类型检查功能)


typedef unsigned          char uint8_t;

typedef unsigned short     int uint16_t;

typedef unsigned           int uint32_t;

typedef unsigned       __INT64 uint64_t;


5.define的应用


#define SYSTEM_SUPPORT_OS        0       //用   SYSTEM_SUPPORT_OS 代替    0


define语句的特点:对参数不做任何检查,在函数编译时就直接有效


推荐阅读

史海拾趣

Banner Engineering公司的发展小趣事

随着电子行业的快速发展,Banner Engineering公司意识到必须不断进行技术升级和产品创新,以满足市场的不断变化。因此,公司加大了研发投入,不断推出新的传感器技术和产品。其中,公司的光电传感器、激光测距仪等产品在市场上表现突出,成为行业的领先产品。同时,公司还拓展了产品线,涵盖了视觉系统、安全光幕等多个领域,进一步增强了公司的市场竞争力。

Evans Capacitor Company公司的发展小趣事

面对数字化浪潮的冲击,ECC决定进行数字化转型以提升竞争力。公司引入了先进的生产设备和管理系统,实现了生产过程的自动化和智能化。同时,ECC还建立了大数据分析平台,对市场需求、客户需求等数据进行深入分析,为公司的决策提供有力支持。数字化转型使得ECC在市场竞争中更加灵活和高效。

优先(苏州)半导体公司的发展小趣事

1994年,三星电子(苏州)半导体有限公司在苏州工业园区成立,成为园区首批入驻的外资企业之一。公司初期主要生产配套、低附加值产品,但随着市场的变化和竞争的加剧,公司开始寻求转型。2003年,苏州工厂开始转型生产核心产品,标志着公司从低端生产向高端制造的转变。此后,公司不断加大在智能制造方面的投入,采用先进的半导体自动化生产管理系统和ERP管理系统,实现了“无人化”自动化生产,生产自动化率可达90%以上。同时,公司始终坚持“绿色经营”的可持续发展理念,致力于保护及改善周边环境,履行企业的环保社会责任。

Antenna Factor公司的发展小趣事

Antenna Factor公司最初由几位热衷于无线通信技术的工程师创立。创业初期,他们面临着资金短缺、技术难题和市场认可度低等多重挑战。然而,他们凭借着对技术的执着和不懈的努力,成功开发出了一款具有高性价比的天线产品,并获得了市场的初步认可。这一突破性的产品为公司的发展奠定了坚实的基础。

Active-Semi公司的发展小趣事

为了进一步扩大市场份额,Antenna Factor公司积极寻求与各行各业的合作伙伴建立合作关系。他们与多家通信设备制造商、电信运营商以及互联网企业签订了战略合作协议,共同推动无线通信技术的发展和应用。这些合作不仅为公司带来了更多的商业机会,也提升了其在行业中的影响力。

EMLSI公司的发展小趣事

人才是企业发展的根本动力。EMLSI公司深知这一点,因此始终将人才战略作为企业发展的重要支撑。公司建立了完善的人才培养体系,为员工提供广阔的发展空间和良好的职业前景。同时,EMLSI还注重引进外部优秀人才,为企业注入新的活力和创新力。这种对人才的重视和投入让EMLSI在激烈的市场竞争中始终保持领先地位。

问答坊 | AI 解惑

原理图更新PCB时的错误提醒

在生成更改后 出现的错误 我不知道这个提醒是什么意思  望大家指导 谢谢…

查看全部问答>

触摸屏的有效范围

完成触摸屏校准后,发现屏幕右边和下面大概2-3厘米的范围点击触摸没有反应,其它地方正常。不知道如何入手,请大家提点一下。发现我的wince6.0校准程序的上下左右四个校准点比wince5.0下的校准点要更靠近中心点2-3厘米。不知道是不是Wince6.0的校准 ...…

查看全部问答>

无法抓取,打印任务文件名是中文的文件名?

RT,无法抓取,打印任务文件名是中文的文件名. 我在打印处理器里面的,PrintDocumentOnPrintProcessor事件里面,去取打印作业文件名,代码如下: 在最后一行,取文件名,如果打印文件的文件名是英文的,DebugPrint输出正确;如果打印文件的文件名是中 ...…

查看全部问答>

寻觅人才---1.Macintosh开发C++ 2.外派美国微软的开发工程师C#

寻觅人才---1.Macintosh开发C++ 2.外派美国微软的开发工程师C# 继续偶的寻觅工作,希望大家有感兴趣或者有这样的朋友的帮忙奔走相告下,谢谢 偶的联系方式:qq08123456@hotmail.com 1.Macintosh开发C++    职位是给英国一家做Network ...…

查看全部问答>

恭喜一下STM8S

今天有个EP868购买用户,弃用MCP,全面改用STM8S。 我免费送了STM8S仿真功能,不过貌似客户不太领情,呵呵。 看来都是ST-Link做开路先锋呀。…

查看全部问答>

TMS320C2801的eCAP功能可以捕获PWM的脉冲个数吗?

查看了TMS320C2801的eCAP功能手册和相关样例,介绍的都是利用该捕获功能进行脉冲周期的测量,而没有对脉冲个数的测量,请问:该功能模块可以现实对脉冲个数的捕获吗? 本人是初学者,请高手们指点一下,最好可以提供一个样例程序,非常感谢!!!…

查看全部问答>

低功耗DSP处理器的设计

       在信息日益成为一种重要资源的今天,强大的市场需求和微电子技术的发展促成了便携式电子系统的飞速发展。这些便携式电子设备,不但对速度和面积要求非常高,而且对系统的平均功耗要求也很严格,使功耗问题日渐成 ...…

查看全部问答>

目前FPGA能实现最高的延时分辨率?

求助各位兄弟姐妹,当前FPGA能实现最高的延时步进能达到1ps么?先谢谢各位了…

查看全部问答>

可控增益放大

本帖最后由 paulhyde 于 2014-9-15 03:00 编辑 可控增益放大,调节3脚电压,调控增益  …

查看全部问答>

程序从主闪存存储器,系统存储器和SRAM中启动有什么不同?

我不理解  问题一:到底把程序下载到FLASH  还是SRAM中有什么区别?(程序如果下载到FLASH中,启动后会自动转到SRAM中运行,这个对吧?)                 ...…

查看全部问答>