tag 标签: GD32

相关博文
  • 热度 4
    2024-3-9 20:21
    825 次阅读|
    0 个评论
    兆易创新作为中国32位通用微控制器领域的领跑者,最新推出的GD32H7系列MCU补全了中国超高性能MCU拼图上的空缺。 GD32H7系列MCU采用基于Armv7E-M架构的600MHz Arm® Cortex®-M7内核,凭借双发射6级流水线架构,以及支持高带宽的AXI和AHB总线接口,可以获得更高的主频及处理性能,达到1552 DMIPS和2888 CoreMarks的优异结果。对比其他内核产品,GD32H7性能大幅提升,能够支持高级DSP、边缘AI等高算力应用。 GD32H7配备了高达4MB的片上Flash和1MB的SRAM,支持大容量代码存储。独有的TCM存储器和L1高速缓存也大大提高了内外部存储器的访问效率。其中,512KB超大紧耦合内存TCM,可自由配置为I-TCM或D-TCM。用来放置想要加速的程序和数据,实现零等待运行,提高系统的性能。还集成了64KB的L1-Cache(I-Cache,D-Cache)高速缓存,其存储速度接近CPU核的工作速度,解决了CPU和内存速度差距过大的问题,为运行复杂操作系统及高级算法提供了充足支持。 GD32H7提供了多种安全加密功能,包括DES、三重DES、AES算法及哈希算法,集成的RTDEC模块,还可以保护连接到AXI或AHB总线的外部存储器的数据安全,防止在工厂和现场的通信过程中受到的威胁,确保物联网硬件数据安全。 相较现有的高性能产品,GD32H7的外设资源大幅扩容,模拟性能也得到空前提升。片上集成了2个14位ADC采样速率高达4MSPS,1个12位ADC采样速率高达5.3MSPS,在电机控制、光伏储能等应用中可提供高精度采样率和快速响应。3个CAN-FD接口和2个以太网控制器也为工业网卡、变频器、伺服器提供了很好的优势。 小编这期不看别的,什么片上存贮啊,多少个ADC啊,就看CPU核心能力。官方号称用Coremark测试分数能达到2888分,那么小编我就通过移植开源代码Coremark来跑一下分。小编手上的芯片型号为: GD32H759I 下载代码并加到工程里面 Coremark主页:http://www.eembc.org/coremark/index.php github代码地址:https://github.com/eembc/coremark 先到hub上面把Coremark代码下载下载,其主页地址如上所示。 我们使用一个已经有串口的代码,就选用官方demo里面的04_USART_Printf例程,这个例程用的是UART0通过CH340向PC打印数据。我们把Coremark相关.C和.H放到工程文件夹下。此时我们新建一个文件夹Coremark用来存饭这些代码文件。当然也要把代码文件加入到MDK的工程里面去,并把头文件路径包含进去。OK此时Coremark的代码已经加入到工程中去了,但是只是这样简单加入是不能跑分的,还需要根据实际芯片把代码做一些调整。 顺便也把官方收录的一些芯片的测试数据展示一下,这里主要搜索了STM32的一些型号。 02 配置相关代码设置跑分 首先,我们要有USART0的配置函数,115200波特率,并且需要串口重定向,这样我们就可以用printf函数了,同时还需要使能I,D的高速缓冲器。我们把这些代码加到了Coremark的core_portme.c中去。并在相关函数中调用: portable_init(core_portable *p, int *argc, char *argv[]){usart_config(); //调用串口配置函数 printf("Starttesting...."); //开始测试提示 } 此外我们还要初始systick,使能高速缓冲器,此功能在start_time(),stop_time(),get_time()三个函数中实现。于此同时,我们还需要声明一个计数器,并在systick的中断函数中自加。 start_time(void){ cache_enable(); systick_config();} uint32_tgTick=0; //申明计数器 void SysTick_Handler(void){ gTick++; delay_decrement();} 接下来还要对一些宏做些配置,先是堆栈要调大一些,还要把迭代次数调大一些,至少让程序运行10S以上,我这边设置的是50000大一点没事,给个参考,这里给个参考值,一般72MHz的主频可以使用2000,120MHz可以使用3500。这里GD32H759I是600MHZ可以自己算一下。还要把每秒迭代次数设为1000这个要和systick相匹配。 volatile ee_s32 seed4_volatile = 50000; //ITERATIONS; #defineEE_TICKS_PER_SEC1000//(NSECS_PER_SEC/TIMER_RES_DIVIDER) 看了广大网友的经验,还要保证我们几个宏的正确性,我们用到的是printf函数所以要更改HAS_PRINTF,还要把优化等级设置成-O3,于此同时IDE的优化等级也要设置成相匹配哦。 #ifndef HAS_PRINTF#define HAS_PRINTF 1 #ifndef COMPILER_FLAGS#define COMPILER_FLAGS \ "-O3" /* "Please put compiler flags here (e.g. -o3)" */ OK我们连接好硬件,看下最终跑分结果2546分,和官方的2888差不多,官方肯定是经过了严格优化后的跑分结果,所以这个差距是可以接受的,实际性能确实杠杠的,牛!
  • 热度 4
    2023-12-9 10:58
    746 次阅读|
    0 个评论
    谢谢兆易创新高工、芯片综合服务商映时科技。谢谢面包板论坛。 感谢 机械工业出版社。 感谢提供的这一次试读机会。 感谢 映时科技 董晓 任保宏 。 接上九篇: 《GD32 MCU原理及固件库开发指南》+试读心得(1) 《GD32 MCU原理及固件库开发指南》+试读心得(2)第八章 《GD32 MCU原理及固件库开发指南》+试读心得第一章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第一章(2) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(2) 《GD32 MCU原理及固件库开发指南》+第三章试读心得 《GD32 MCU原理及固件库开发指南》+第四章试读心得 《GD32 MCU原理及固件库开发指南》+第五章MCU基础外设 《GD32 MCU原理及固件库开发指南》+第六章模拟外设 在阅读《GD32 MCU原理及固件库开发指南》之后,我深感嵌入式系统中的串口通信不仅是一门技术,更是一种艺术。在微控制器的世界里,串口通信作为一种通用的通信接口,为设备间的数据交换提供了可能。而GD32F303的USART(Universal Synchronous/Asynchronous Receiver Transmitter)模块更是将这种可能性推向了新的高度。 首先,通过使用printf函数进行实例讲解,我了解到了USART的半双工通信模式、DMA通信模式、同步模式、接收超时、中断方式收发等特性。这不仅让我对USART有了更深入的理解,也让我明白了在硬件系统中,如何灵活、有效地利用这些特性来实现数据通信。 然后,通过构建一个串口命令行,我体验到了使用串口进行程序调试的便捷性。相对于传统的JTAG或SWD接口,串口命令行无疑提供了更大的灵活性,使得我们可以在任何时间、任何地点对程序进行调试。更为重要的是,这个串口命令行经过了实际工程的验证,占用资源少,易于移植到其他MCU,甚至是资源更为紧张的8位微控制器上。 让我们继续用幽默的方式讲解这些通信模式。 1. USART的半双工通信模式 半双工通信模式就像是在一个嘈杂的餐厅里与邻桌人交谈。你们只能通过一个人讲话,另一个人倾听来交流。如果你试图同时说话,那么你们将无法听清对方的话。这就像是在争夺话语权,而最后只会变成一场嘈杂的混乱。 2. DMA通信模式 DMA通信模式就像一个非常专业的侍者。你可以告诉侍者你要什么,然后他会为你送到餐桌上,而你则可以继续享受你的晚餐。你不必亲自去取食物,侍者会帮你完成一切。这样,你可以专注于更重要的事情,比如品尝美食。 3. 同步模式 同步模式就像是一场精心编排的舞蹈表演。每个舞者都必须按照相同的节奏和步伐跳舞,以确保整个表演的协调性和完美性。如果有人跳错了步伐,那么整个表演就会受到影响。因此,在同步通信中,每个设备都必须按照相同的速度和顺序发送和接收数据,以确保数据的准确性和一致性。 4. 接收超时 接收超时就像是在等待一个迟到的朋友。你等了很长时间,但是他还是没有出现。最后,你决定离开并做其他事情。这就是接收超时的情况,如果设备在特定的时间内没有接收到数据,它就会放弃等待并返回一个错误。这就像是在告诉朋友:“我不能再等你了,我要去做其他事情了。” 5. 中断方式收发 中断方式收发就像是在打瞌睡时被突然的电话铃声吵醒。你正在做美梦,但是电话响了,你必须立刻醒来接电话。同样地,当设备需要发送或接收数据时,它会发出一个中断信号,让CPU停止当前的工作并处理数据。这就像是在说:“喂!喂!快醒醒!有重要的事情要做!”这样,CPU可以高效地处理数据,而不会错过任何重要的信息。 希望这些更幽默的讲解方式能够帮助你更好地理解这些通信模式! 使用串口命令行来调试程序比使用JTAG或者SWD接口要更加灵活。 首先,让我们来了解一下这些高大上的名词都是啥意思。JTAG和SWD接口是我们在硬件调试中常用的两种接口,可以帮助我们更加方便地调试嵌入式系统等硬件设备。而串口命令行则是一种通过串口通信来进行调试的方式。 好了,科普完毕,接下来让我们进入正题。 使用JTAG或者SWD接口调试程序,就像是通过一个高级餐厅的旋转门进入餐厅一样,虽然看起来高端大气上档次,但是实际上却有很多限制。比如你只能按照规定的方向进入或退出,而且还必须慢慢地推门,否则门就会卡住。 而使用串口命令行调试程序则像是通过一个街头小摊的摊位门进入市场一样,虽然看起来比较简陋,但是却非常灵活。你可以随时随地进出,而且还可以自由地控制门的开关速度,非常方便。 另外,使用串口命令行还有一个好处就是可以实现远程调试。你可以在家里通过电脑连接到一个远程的串口服务器上,就可以对远在千里之外的程序进行调试了。这就像是你在家里通过手机APP控制智能家居一样,非常便捷。 综上所述,使用串口命令行来调试程序比使用JTAG或者SWD接口要更加灵活,不仅可以实现远程调试,而且还非常便捷。当然,如果你要装X的话,还是可以使用JTAG或SWD接口来调试程序的,毕竟旋转门看起来还是比较高端的。 JTAG和SWD都是用于硬件调试的接口,以下是它们的一些主要区别: 1. 定义:JTAG(Joint Test Action Group)是一种国际标准测试协议,主要用于芯片内部测试。而SWD(Serial Wire Debug)则是一种串行调试接口,采用不同的调试协议。 2. 引脚数量:标准的JTAG接口是4线的,包括TMS、TCLK、TDI、TDO,分别是模式选择、时钟、数据输入线和数据输出线。一般再加上VCC和GND,因此共有6个引脚。而SWD只需要4个引脚,SW_CLK、SW_SDIO、NREST、VDD,所以结构简单。 3. 使用范围:JTAG接口的使用范围比SWD广泛。JTAG可以深入芯片内部进行测试,而SWD主要用于调试。 4. 速度和可靠性:在高速模式和大数据量的情况下,SWD模式比JTAG更加可靠。JTAG下载程序可能会失败,但是SWD发生错误的概率会小很多。基本使用JTAG仿真模式的情况下都可以直接使用SWD模式,只要仿真器支持。 5. 引脚需求:当GPIO刚好缺一个的时候,可以使用SWD仿真,这种模式支持更少的引脚。在板子的体积有限的时候推荐使用SWD模式,它需要的引脚少,当然需要的PCB空间就小。 在嵌入式系统的通信方式中,I2C和SPI是最为常见和重要的两种。从基础知识到实际应用,我收获颇丰。 7.2节中,我了解了I2C接口的背景知识和特点。I2C接口是一种简单、灵活的通信协议,广泛应用于微控制器和其他设备之间的通信。通过学习GD32F303的I2C外设及其相关API,我深入理解了I2C主从通信方式,包括查询方式、DMA方式、中断方式。最后,我使用GD32F303的I2C接口实现了对BluePillExt开发板板载EEPROM的读写访问。这个过程让我深刻体会到I2C的便利性和实用性。 首先,想象一下I2C接口就像是一个小镇上的邮递员。他(接口)负责在镇上的各个房子(微控制器和外设)之间传递信件(数据)。 1. **简单**:I2C接口就像是个只会骑自行车送信的邮递员。他不需要复杂的交通工具,只需一个简单的自行车就能完成任务。同样,I2C接口不需要复杂的硬件设计,两根线就能实现通信,多么简洁啊! 2. **便宜**:你知道小镇上的邮递员薪水通常都不会太高,对吧?同样,使用I2C接口的设备通常都很便宜,毕竟它只需要两根线和简单的硬件设计。 3. **低速**:你知道邮递员送信的速度通常都不会太快,对吧?他们不是闪电麦皮,不能一瞬间就送完所有的信。同样,I2C接口的速度也是相对较慢的,但这并不影响它的工作效率。毕竟,慢工出细活嘛! 然后我们来聊聊重要参数: * **时钟频率**:这就像邮递员的工作节奏。如果节奏太快,邮递员可能会送错信;如果节奏太慢,信件可能要及时才能到达。所以,我们需要找到一个合适的节奏,既能保证送信的效率,又不会让邮递员感到压力。 * **地址空间**:想象一下每个房子都有一个唯一的门牌号,邮递员通过这个门牌号就能准确找到房子。同样,I2C接口上的每个设备都有一个唯一的地址,微控制器通过这个地址就能找到需要通信的设备。 * **数据传输速率**:这就像邮递员每天能送多少信。如果他送得太快,可能会出错;如果他送得太慢,信件可能会堆积。所以我们需要找到一个合适的速率,既能保证送信的效率,又不会让邮递员感到压力。 现在,你是不是对I2C接口有了更深入的了解呢?如果你觉得这个解释很有趣或者很有帮助,别忘了给我点个赞哦! 此外,7.3节中,我也学习了SPI的基础知识,了解了SPI的特点和重要参数。SPI是一种同步串行通信协议,具有高速度、高效率、占用资源少等优点。通过学习GD32F303的SPI外设及其相关API,我进一步了解了SPI的通信方式,包括查询方式、DMA加速实现SPI高性能传输、SPI半双工通信和中断发送方法。最后,我使用GD32F303的SPI实现了对BluePillExt开发板板载SPI Flash的读写擦除访问。这个过程让我深刻体会到SPI的高效性和灵活性。 总的来说,通过学习GD32F303的USART、I2C和SPI等通信接口的使用方法,我对嵌入式系统中的数据通信有了更深的理解。这不仅让我明白了这些接口在硬件系统中的重要性,也激发了我进一步探索和学习嵌入式系统其他领域的兴趣。我相信,随着我对嵌入式系统学习的深入,我将能够更好地利用这些接口为我的项目带来更多的可能性。 谢谢! 本人在本论坛内的试读 : 《Proteus实战攻略》+7 第五章双足机器人仿真实例 《Proteus实战攻略》+6 第四章AVR单片机仿真 本人在本论坛内的帖子: 【灵动MM32SPIN030C单电机控制器】+(二)磁场导向控制-空间矢量调制(SVM) 【灵动MM32SPIN030C单电机控制器】+(一)使用Motor-DK (MM32SPIN030C)芯片的体验与心得 米尔-STM32MP135开发板试用2-螺旋桨控制(原创)首发(开源) 米尔-STM32MP135开发板试用4-Linux控制螺旋桨升力大小(原创) 【KT148ADSP语音芯片】+试用心得1 【KT6368A双模蓝牙芯片】+体验 我希望这些内容能对您有所帮助! 2023年12月8日
  • 热度 3
    2023-11-17 13:10
    806 次阅读|
    0 个评论
    谢谢兆易创新高工、芯片综合服务商映时科技。谢谢面包板论坛。 感谢 机械工业出版社。 感谢提供的这一次试读机会。 感谢 映时科技 董晓 任保宏 。 接上九篇: 《GD32 MCU原理及固件库开发指南》+试读心得(1) 《GD32 MCU原理及固件库开发指南》+试读心得(2)第八章 《GD32 MCU原理及固件库开发指南》+试读心得第一章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第一章(2) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(2) 《GD32 MCU原理及固件库开发指南》+第三章试读心得 《GD32 MCU原理及固件库开发指南》+第四章试读心得 《GD32 MCU原理及固件库开发指南》+第五章MCU基础外设 电子发烧友jf_39110170 网名“还没吃饭”阅读《GD32 MCU原理及固件库开发指南》中GD32MCU模拟外设的心得体会: 通过学习GD32MCU的ADC和DAC等模拟外设,我深刻理解了这些设备在嵌入式系统中的重要性。ADC和DAC分别作为模拟信号和数字信号之间的桥梁,对于实现系统与外部环境的交互具有不可替代的作用。 首先,关于ADC,我了解到GD32MCU内置的ADC功能强大,使用方便。通过学习规则组和注入组,我了解到它们在数据转换过程中的作用。同时,我也明白了ADC的触发过程,触发方式的不同会导致转换模式也不同。通过使用ADC,我们可以方便地从外部获取模拟信号,并将其转换为数字信号进行处理。 其次,关于DAC,虽然它并不是所有GD32MCU都具备,但是对于某些特定应用场景,DAC的使用可以大大提高系统的性能。通过学习,我了解到DAC可以将数字信号转换为模拟信号。虽然大部分入门级芯片并未配备DAC,但如果我们有这样的需求并且对指标要求不高,可以使用PWM+RC滤波方式进行模拟。 此外,通过学习如何使用DAC0在PA4输出正弦波的例子,我学会了如何通过修改TIMER5定时器的触发输出频率来改变输出波形的频率,以及如何更新convertarr数组的数据来调节信号的波形和幅值。这个例子也让我对信号发生器的原理有了更深入的理解。 总的来说,通过学习GD32MCU的ADC和DAC等模拟外设,我对嵌入式系统中的模拟信号处理有了更深入的理解。同时,我也学会了如何使用这些设备来实现特定的功能。在未来的学习和工作中,我将继续深入学习嵌入式系统的相关知识,不断提高自己的技能和能力。 本人在本论坛内的试读 : 《Proteus实战攻略》+6 第四章AVR单片机仿真 本人在本论坛内的帖子: 【灵动MM32SPIN030C单电机控制器】+(一)使用Motor-DK (MM32SPIN030C)芯片的体验与心得 米尔-STM32MP135开发板试用2-螺旋桨控制(原创)首发(开源) 米尔-STM32MP135开发板试用4-Linux控制螺旋桨升力大小(原创) 【KT148ADSP语音芯片】+试用心得1 【KT6368A双模蓝牙芯片】+体验 我希望这些体会能对你有所帮助! 谢谢!
  • 热度 5
    2023-10-7 23:13
    1331 次阅读|
    0 个评论
    谢谢兆易创新高工、芯片综合服务商映时科技。谢谢面包板论坛。 感谢 机械工业出版社。 感谢提供的这一次试读机会。 感谢 映时科技 董晓 任保宏 。 为感谢大家的帮助与支持我给大家表演一段: 接上八篇: 《GD32 MCU原理及固件库开发指南》+试读心得(1) 《GD32 MCU原理及固件库开发指南》+试读心得(2)第八章 《GD32 MCU原理及固件库开发指南》+试读心得第一章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第一章(2) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(2) 《GD32 MCU原理及固件库开发指南》+第三章试读心得 《GD32 MCU原理及固件库开发指南》+第四章试读心得 电子发烧友jf_39110170 网名“还没吃饭”阅读《GD32 MCU原理及固件库开发指南》第五章MCU基础外设 的读后感: 最近我回顾了GD32MCU基础外设,包括GPIO、DMA、定时器、RTC、看门狗定时器等,这些是嵌入式系统中常用的接口。通过复习这些外设,我深刻体会到MCU作为控制器的强大之处,可以方便地控制各种硬件设备。首先,GPIO是最基础的外设,可以用于控制LED、LCD等输出设备,以及读取按钮、光敏等输入设备。通过学习GPIO,我了解到它的输出和输入操作是如此简单,可以轻松地实现流水灯和按键输入。此外,GPIO还可以配合DMA实现高速并行数据读取,可以用来模拟UART、I2C、SPI等通信协议。这使我更加深入地了解到嵌入式系统的多样性和灵活性。 其次,我回顾了使用中断方式来实现按键输入实例。EXTI的核心是20个相互独立的边沿检测电路,处理器使用EXTI可以从GPIO或者内部外设获取信息。通过这个实例,我复习了处理器如何感知外界的信息,并作出相应的处理。 此外,我还学习了DMA在SRAM中搬运数据和从Flash向SRAM搬运数据。DMA是一种不依赖于CPU的内存管理技术,可以快速地传输数据。通过这个实例,我了解到在实际工程中如何使用DMA来配合其他外设(如ADC、DAC、SPI、USART等)实现更高效的数据传输和控制。定时器也是我复习的重点之一。通过定时器可以实现软件延时测量事件,输出PWM和测量外部输入信号频率等功能。在定时器之间的同步操作中,我学到了如何实现多个定时器的协同工作,以便更好地控制和管理时间。 最后,我回顾了RTC和看门狗定时器。RTC可以获取日历时间和低功耗唤醒,是实际工程中非常重要的外设之一。而看门狗定时器则是一种可靠性更高的保护措施,可以确保系统在出现异常时能够及时复位并重新启动。通过复习GD32MCU基础外设,我不仅掌握了这些接口的基本使用方法,还深入了解了它们的工作原理和应用场景。这些知识将对我今后的学习和工作产生积极的影响,使我更加深入地了解嵌入式系统的设计和应用。 谢谢! 本人帖子: 米尔-STM32MP135开发板试用2-螺旋桨控制(原创)首发(开源) 米尔-STM32MP135开发板试用4-Linux控制螺旋桨升力大小(原创) 【飞凌AM6254开发板试用】+5内核编译串口芯片Linux驱动(原创) 【Milk-V Duo 开发板免费体验】4-Linux控制小车动作(原创)首发 【飞凌i.MX9352开发板试用】+机械臂游戏2游戏操纵杆控制四自由度机械臂(开源)原创首发 【米尔瑞萨RZ/G2L开发板-创新应用】4(原创)四自由度机械臂游戏开源的项目 【轩辕剑法 ---乾甲申式 】 https://www.bilibili.com/video/BV19w411a7mF/?share_source=copy_web&vd_source=b5b305bec6cbccdfdaee2cf57cf341bc 谢谢!
  • 热度 8
    2023-9-28 16:53
    1218 次阅读|
    0 个评论
    谢谢兆易创新高工、芯片综合服务商映时科技。谢谢面包板论坛。 感谢 机械工业出版社。 感谢提供的这一次试读机会。 感谢 映时科技 董晓 任保宏 。 接上七篇: 《GD32 MCU原理及固件库开发指南》+试读心得(1) 《GD32 MCU原理及固件库开发指南》+试读心得(2)第八章 《GD32 MCU原理及固件库开发指南》+试读心得第一章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第一章(2) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(1) 《GD32 MCU原理及固件库开发指南》+试读心得第二章(2) 《GD32 MCU原理及固件库开发指南》+第三章试读心得 在阅读关于GD32的电源管理系统和时钟系统的详细介绍后,我对这些系统的原理和运作方式有了更加深入的理解。这些知识对于开发低功耗、高性能的系统非常重要,特别是在嵌入式系统和微控制器应用中。首先,从电源管理方面来看,GD32的3个电源域和3种省电模式的介绍让我明白了如何在不同工作模式下管理电源,以达到节能的目的。通过使用PMU(Power Management Unit)相关的API,可以更加灵活地控制电源,并在深度睡眠模式、待机模式和低压检测器等功能之间进行切换。这为系统设计师提供了一种有效的工具,可以根据系统需求来平衡功耗和性能。另一方面,GD32的时钟系统是一个复杂而又精密的系统。通过了解GD32的3种复位控制方式和时钟源、PLL(Phase-Locked Loop)及外设时钟配置的方法,我认识到时钟系统对于整个系统的稳定运行和各个模块的正常工作至关重要。这就好比是在一个城市中,时钟塔不仅指示着时间,还协调着各个社区的活动,确保城市的和谐运转。 在阅读过程中,我也学习了一些与RCU(Reset and Clock Control Unit)相关的API的使用方法。这些API在初始化系统时钟和控制时钟输出方面发挥了重要作用。通过这些API,开发人员可以更方便地调整和控制系统的时钟频率和时序,以满足各种应用的需求。此外,我也了解到,虽然时钟系统的复杂性可能会让人望而却步,但只要掌握了基本的原理和方法,再结合规格说明书中的模块框图和时钟树图,就可以更好地理解和掌握它。这就好比是在游览一座复杂的城市,只要掌握了城市的地图和交通系统,就能轻松地找到目的地。 总的来说,通过阅读我对这些系统的理解更加深入,也更加清楚它们在嵌入式系统和微控制器应用中的重要性。我相信这不仅提供了我急需的知识,也启发了我对于嵌入式系统设计和微控制器应用的更深层次的理解和思考。 谢谢!
相关资源