【有那么点详细的CW32学习笔记】单片机启动&库函数构成
本章为CW32F030C8T6时钟的参考资料,面向初学者。
第一部分 默认时钟和启动文件
单片机内部基本由内核、总线、外设组成,这三部分作为数字电路,都需要开发者提供时钟信号才能正常工作。所谓时钟信号,就是周期脉冲信号,由电路分析可知RC振荡电路可以产生稳定的脉冲,故单片机的时钟信号可以由RC振荡器提供。但是RC振荡器提供的时钟信号质量不高,而晶体振荡器依靠压电效应提供稳定的、高质量的时钟信号。以CW32F030C8T6单片机为例,他拥有2个内部振荡器,并且可以使用外部振荡器输入的脉冲信号作为时钟。先说内部振荡器,有HSI(高速-high speed、内部-internal)和LSI两个震荡器,这两个振荡器均为RC振荡器,可以通过配置相关的寄存器来调整输出频率,一般单片机启动的时候都会使用内部振荡器提供的时钟,这种RC振荡器启动速度很快,价格低廉,非常时候作为启动时钟。内部低速振荡器一般不作为内核运行的时钟,而是作为部分外设的时钟,如rtc定时器(实时时钟)和看门狗。对于此款单片机,可以通过下述办法来判断单片机上电之后的行为,提示:一般单片机上电之后都会配置主要的时钟参数,但配置之后工作状态不同,后文会有对比。
(相关资料图)
1.找到单片机的启动文件,启动文件以“.s”后缀出现,意为start_up。
2.启动文件由汇编语言编写,单片机启动一定会从启动文件开始,而不是C语言下的main函数。
3.下图为启动文件截图。
4.在上方文件中找到那个叫SystemInit的东西,这是个函数名字,一般来讲都可以在厂商提供的库函数中找到,cw32的在下面这个图的文件里
1.在执行完SystemInit函数的这三行代码之后,单片机会正常跳转到main函数开始执行,就像启动文件里面写的那样。
至此,启动文件主要部分及系统默认的上电时钟已讲解完。
如果你看不懂C语言,那就去补习C语言。
如果你看不懂为什么这是在操作寄存器,下一部分会教你如何看寄存器。
第二部分 库函数和寄存器
我们都知道计算机编程最早使用的是机器语言,也就是用打点纸带来编程,后续出现了汇编语言,使用助记符来辅助编程,再到后来的C语言,高级语言诞生,软件开发变得更加简单。但是到计算机这一层,他依然是使用的数字电路来工作的,至少,开发者需要操作的东西就算不是数字电路,也是个寄存器。计算机发展中,寄存器被人们用“地址”这个东西来标号,翻开编程手册(单片机至少有三个手册是开发者需要看的,分别是:data_sheet user_program_guide core_program_guide),你会发现每个寄存器都会有一个地址,到目前为止,32位单片机拥有非常多的寄存器,这些寄存器地址已经不会再用最直接的地址累加形式显示出来(如0x00,0x01,0x02........)。稍微高级一些的单片机都会使用基地址+地址偏移量的形式指示寄存器的地址,如下图所示:
如果开发者想要使用位于SYSCTRL这个寄存器组下的分寄存器,如总线时钟或是PLL时钟,就需要用基地址+地址偏移量的方式找到这个寄存器,并赋值寄存器来配置。所谓地址偏移量,就是这个寄存器有多少字节的容量,32位单片机就是4字节,所以地址偏移量基本上就是4字节步进来累加的,某些情况会有多个寄存器一起负责一个功能的情况,这个时候偏移量要酌情理解。那地址代表了寄存器,地址和库函数有什么联系?C语言最精髓的东西是什么?那必然是指针,指针就用的是这种“以地址指示参数位置”的办法,所以你可以在库函数看到如下一系列的
宏定义:
基地址。
地址强制转换为结构体指针。
上面那个东西又会被定义成开发者可以直接操作的寄存器。
有朋友肯定会问,这里只有一个基地址,为什么可以用CW_SYSCTRL->REG的形式操作很多寄存器呢?由于每个寄存器都是32位的,也就是4字节,由C语言联合体和结构体的特性,内部的地址是基地址累加的,只需要一个寄存器累加固定的偏移量,就能把结构体成员和单片机内的寄存器一一对应起来,这就是寄存器与库函数的联系。一旦想通寄存器和库函数是怎么联系起来的,单片机编程就会变成一个非常简单的事情,因为库函数本质上就是在用地址操作去赋值、改写寄存器,全世界的单片机库函数都是如此。在任何时候,开发者都可以通过直接赋值寄存器的办法去完成自己期望的配置。现在我们回头看cw32系统初始化函数的最后两行,最开始的就是基地址指针,这个是一个结构体指针,结构体由很多联合体构成,指针选择结构体成员,结构体成员是联合体,所以用‘.’的方式选择了TRIM成员进行赋值,赋的值就是等号右边的部分。细说等号右边的含义。RCC是一个十六进制数,他被强制转化为了16位指针类型,并在赋值之前解引用被变成了本身的值,即前文提到的十六进制数,根据编程手册,这个十六进制数表示了RC振荡器对应48MHz输出的校准值。
至此,关于第二部分的寄存器-库函数联系已讲解完成,如有错误或遗漏,欢迎指正和补充。
总结:
1.单片机启动并不是从main函数开始执行的,而是从启动文件规定的函数开始执行的
2.大部分单片机都会上电自动配置时钟保证单片机能够正常工作
3.寄存器和库函数通过地址这个东西联系在一起,库函数本质就是在操作寄存器审核编辑 黄宇
标签:
推荐文章
- 【有那么点详细的CW32学习笔记】单片机启动&库函数构成
- 中国炼焦行业协会:7月焦炭落实三轮涨价 累计涨幅200元/吨
- 小鹏汽车CEO祝贺比亚迪500万辆新能源车下线 强调团结力量
- 佛家说说做人(佛说做人的道理)
- 昆明大宥城商业项目复工 开发商曾于3月进入重整
- 国家能源局局长章建华会见坦桑尼亚能源部部长贾努阿里·尤瑟夫·马坎巴
- 9只科创板股公布2023年上半年业绩快报
- DDD之于业务支撑的意义
- 三月三荠菜煮鸡蛋意味着什么 民俗三月三究竟为啥要用荠菜煮鸡蛋
- 医药反腐|三年进行学术拜访近40万次,荣盛生物撤单IPO
- 8月9日基金净值:摩根内需动力混合A最新净值0.7218,跌2.14%
- 吐木秀克镇托万塔尕克村开展防山洪、防溺水 安全宣传教育活动
- 龘龘龘靐齉齾爩鱻麤龗灪吁龖厵滟爨癵籱用英语怎么说_龘龘龘靐齉齾爩鱻麤龗灪吁龖厵滟爨癵籱
- 股价猛涨37倍!要544年回本!盟固利基本面“透心凉”!解套有希望吗?
- 假警察正打电话行骗,真民警及时止损10万元
- 8月9日全国主要油厂豆粕成交29.34万吨 较上一交易日增加6.8万吨
- 保卫萝卜深海主题第十关攻略(保卫萝卜深海主题)
- 中国有赞2023年上半年收入7.24亿元 毛利5.01亿元
- 小爱小嘉说新闻第一百三十四期:嘉定区华盛怀少学校
- 共享大运盛会
- 西凤酒两项研究成果通过鉴定
- 采收“致富椒”
- 时间已定,重点专项常规项目视频答辩评审会将召开
- 中国疾控:7月新增491例猴痘病例(陕西报告4例),均为男性
- 足够特别,也足够热烈!TA,依然独一无二 | 功夫试驾
- 应急减灾二号F星成功发射 进一步增强全天候应急遥感监测能力
- 不要不能痛(不要用我的爱伤害我)
- 211期九哥快乐8预测奖号:五区奖号分析
- 西安经开区企业为高温工作者送清凉
- “新农人”带来销售“新流量”
- 国家统计局:7月份居民消费价格同比下降0.3% 环比上涨0.2%
- 上海打击医药医疗红包回扣:行贿受贿一起查
- 美国前总统特朗普或将面临第四次刑事指控
- 农业农村部发布畜牧业汛期防灾减灾技术指导意见
- 劲吹文明新风 赋能基层治理
- 西湖教育基金会首设松柏捐赠基金,推动现代科学与传统医学互动
- 郑州市粮食和物资储备局召开粮食安全专项审计反馈问题整改工作安排部署会
- 网恋落入陷阱 大庆龙南警方及时劝阻挽损
- 在“燃”字上下功夫 沈阳开放大学青年爆发干事创业强大动力
- 双清区:一站式服务跑出“招商引资”企业准入“加速度”
- 7月CPI同比涨幅或转负?后续有望逐步上行
- 最新动态:俄称击毁试图袭击莫斯科的无人机 乌西部空军基地遭多轮空袭
- 英雄联盟皮肤领取地址在哪(英雄联盟皮肤领取地址)
- 沙特双娇!C罗、本泽马并列阿拉冠射手镑第一
- 日喀则:以“谐”之名,他们在高原起舞
- 中国气候投融资联盟成立 北京绿交所与气候投融资试点地区开展战略合作
- 网友吐槽:月薪2万住不起汉庭如家,在北京也算是中高等收入了
- 收了费却无法保证租到房
- 上半年 晋江重点项目超额实现“双过半”
- 百度:大模型数量国内第一!全面升级!
- 我爱我家:部分城市和地区的二手房带看量出现显著复苏迹象
- 证券日报头版:活跃资本市场,证券行业大有可为
- 造梦西游3唐僧最强新手技能搭配(造梦西游3唐僧最好配招)
- Twitch网红在纽约广场发放免费游戏机引发骚乱,被警方拘留
X 关闭
最新资讯
- 8月8日-11日电网检修公告
- 上海交通行业疏运因地震晚点抵沪的铁路旅客
- 巴基斯坦南部一列车脱轨致22死50伤
- 山东德州平原县震区已有23人受伤
- 存款有哪些类型 新手怎么选
- 7月亚洲制造业PMI微升至50.5% 继续保持平稳增长态势
- 浅滩上小白鹭捉鱼忙(5)
- 马斯克称投资氢燃料卡车是愚蠢的 报盖茨当年“一箭之仇”
- 非标资产的风险防控策略
- 闺女听张雪峰的意见,结果“亏惨了”,父母对着录取通知书叹气
- 天津派出抢险突击队驰援涿州市
- 去脂体重越高越好还是越低越好(去脂体重高好还是低好)
- 下周A股超600亿限售股解禁 江波龙解禁市值68.88亿元居首
- 无证场所、无证人员、虚假宣传……暑期医美整形 青少年需避“坑”
- 干贝怎么做好吃?分享几道干贝的家常做法,兼具营养和美味!
- 一个汉字的机内码和国标码之间的差别是(一个汉字的机内码与国标码之间的差别是)
- 关于路灯的作文题目怎么写
- 福建漳州:一座“花果之城”的农旅转型
- 因管道施工,8月7日江苏启东市该路段停水,请提前蓄水
- 李玟老公首次回应与李玟情感争议:没争财产,与李玟死百分百无关
- 河北共青团发文赞美抗洪小战士,被发现系人民日报3年前视频
- 最高降温8℃!雷雨!江西接下来天气……
- 计划年内全线通车!乐山坐高铁可一路耍遍川西
- 孙国良(关于孙国良简述)
- 每天睁眼亏3万,养牛人正艰难度日
- 北京门头沟:门城地区全面恢复供电,这些地区暂时恢复手机通信
- 2023 Q2 全球平板战报:苹果占比 39.8% 三星占 18.8%
- 8月总票房(含预售)已突破10亿
- 新华全媒+|“九河下梢”泄洪记
- 科技甘霖润泽油茶链条
- 什么是公司资质证书 什么是公司资质
- 【成都第31届世界大学生夏季运动会——共赴青春之约共谱青春乐谱】中北大学学子孟明宽斩获跆拳道项目一金一铜
- 《福建沿海航行指南》(2022版)正式出版发行
- 华为畅享 50玩游戏容易发烫吗
- “室温超导”概念热度不减,市场“跟风”炒作已然见顶?
- Mlxg开发婕拉打野被演员破防:一群演员苟!
- 美国7月非农新增就业18.7万 创2020年12月来最小增幅
- 西藏城投最新公告:拟注册发行不超15亿元中期票据
- 超高频D5内存价格又创新低,金百达黑刃6800MHz内存实测,又好又便宜
- 新能源与海外销量再创新高 长城汽车7月销售新车10.9万辆
- 瑞华泰(688323.SH):因PI优良的耐热性、绝缘性与阻燃性,其在动力汽车的三电系统都有潜在应用空间
- 鸿蒙4.0来了!不仅拥有了AI超能力,还达成了“7亿”小目标
- “奶业全产业链展”在呼和浩特国际农业博览园开展!记者带你来探馆→
- 和田墨玉没戴怎么保养
- 梓涵堂简介(梓涵)
- 菲律宾7月通胀率降至4.7% 连续第六个月放缓
- 华为nova 10如何打开游戏助手
- 汽车行业近8成公司半年报业绩预喜 比亚迪预计净利规模最大
- 房山原子能研究院生活区积水漫过胸口!物业奋战7小时将积水排尽
- 靶向服务+全方位覆盖 滨海高新区力促企业上市跑出“加速度”
X 关闭