理解我们单片机拥有的资源

目录

为什么要查询单片机拥有的资源

所以,去哪些地方可以找数据手册

一个例子:STM32F103C8T6


前言

本文章隶属于项目:

Charliechen114514/BetterATK: This is a repo that helps rewrite STM32 Common Repositorieshttps://github.com/Charliechen114514/BetterATK

为什么要查询单片机拥有的资源

这个问题问的其实有点白痴------不知道使用的单片机有什么,咱们咋做项目,总不可能做到一半发现片上没有硬件IIC半路集成一个硬件IIC芯片,做到一半发现ADC不满足我们的需求再抓耳挠腮想办法改吧。总不可能做到一半发现我们实际上把显然器件买富裕太多了,成本严重溢出吧。

**单片机的资源决定了它能够完成什么样的任务。在开发任何项目时,我们必须清楚地知道单片机具备哪些硬件支持,例如有多少个GPIO引脚、是否有ADC模块、是否支持PWM、是否集成定时器、串口、I2C、SPI、CAN总线等通信接口,以及有无看门狗、DMA控制器、中断控制器等系统资源。只有清楚这些,我们才能判断该单片机是否能满足项目需求。**这是我们动手写项目之前必须要考虑的事情。比如说,我是做到一半发现STM32F103C8T6没有内置的FAMC芯片导致没办法满足使用硬件刷新TFTLCD的时候,只好换笔者之前的STM32F103ZET6等等。

资源的种类和数量直接影响程序的设计方案。例如,如果单片机RAM和Flash较小,就必须在程序设计中精打细算,避免过度占用内存(举个例子,一些非常固定的场景下,我们就会使用那些8位单片机,一些8位单片机可就只能写汇编了,C语言编译的程序(几百字节甚至是几K)是装不下的);如果外设资源丰富,就可以减轻主控制逻辑负担,将一些功能交给硬件模块去实现,提高整体性能。如果开发者不了解资源情况,容易导致程序无法运行或系统不稳定。

资源决定了调试和扩展的灵活性。如果我们知道单片机有几个定时器、是否支持多通道ADC、是否具备多种通信接口,就可以更灵活地分配和调度资源,甚至在项目后期需要增加新功能时,也能快速评估资源是否足够、是否需要更换芯片。换而言之,我们反方向的考虑------我们制作的产品好不好迭代?能不能使用一个稳定的芯片就把潜在的功能更新给包了。当然这就考验我们的能力------正确的评估使用的芯片,让我们的项目可以长期发展。

所以,去哪些地方可以找数据手册

单片机的资源,归根结底最好不要跑去问百度,谷歌也不要太多。我们需要去找单片机的数据手册,单片机的数据手册就把我们的片上的资源说干净了------如Flash容量、RAM大小、引脚功能、通信接口、外设模块数量等对片上的资源如何使用,需要参考的是参考手册,这种手册一般说的是每个模块的工作原理和使用方法------ADC转换过程、定时器寄存器结构、中断配置方式等

当然,大部分朋友如果是初学,可能就会购买开发板,核心板(比如说我现在就是买核心板,笔者不做焊工,只是感兴趣玩玩),我们可能会随手要到我们板子的原理图电路图,这些就是展示一种资源的使用方法------单片机的哪些引脚可以接到哪些外设上。举个例子,笔者的STM32F1系列和F4系列上的PA9和PA10因为具备复用UART串口通信的功能,所以几乎总是直接跟附带的UART串口模块的RX和TX相接。

当然,一些小众的单片机这个事情就要麻烦了,我们可能就要摇客服求给资料,自己探索类比,看别人的博客摸索方案。这个笔者水平没到,只是听有朋友大致如此。

最富裕的仗------比如说笔者学习的意法半导体的STM32系列,都有集成开发环境(IDE)提供的工具,甚至可以做图形化的开发,开发板上有啥资源甚至可以看图看出来!

一个例子:STM32F103C8T6

STM32F103C8T6,我相信看江科大视频的朋友都是从这个单片机入门的。这个单片机我们想要深入学习,第一件事情就是找到这个单片机的资源手册和编程手册。

你当然可以去意法半导体的官网上直接下一手资料:

数据手册:

Datasheet - STM32F103x8 STM32F103xB - Medium-density performance line Arm®-based 32-bit MCU with 64 or 128 KB Flash, USB, CAN, 7 timers, 2 ADCs, 9 com. interfaceshttps://www.st.com/resource/en/datasheet/cd00161566.pdf

编程手册:

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm®-based 32-bit MCUs - Reference manualhttps://www.st.com/resource/en/reference_manual/rm0008-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

笔者的朋友(HNHKHNH-CSDN博客)推介过一个AllDatasheet的网站,这里是笔者玩芯片外设的一个Fallback。你可以去上面搜索:ALLDATASHEET.COM - Electronic Parts Datasheet SearchDatasheet search site for Electronic Components and Semiconductors, integrated circuits, diodes, triacs and other semiconductors.https://www.alldatasheet.com/

相关推荐
czhaii2 小时前
STM32配套程序接线图
stm32·单片机·嵌入式硬件
F133168929572 小时前
WD5202L超低成本 Buck 电源芯片的特性与应用电路解析, 将市电转换为 5V 电压
单片机·嵌入式硬件·物联网
siy23332 小时前
[c语言日寄]浮点数的排序
c语言·开发语言·数据结构·笔记·学习
日暮南城故里3 小时前
Java学习------static、final、this、super关键字
java·学习
四夕白告木贞3 小时前
stm32week7
stm32·单片机·嵌入式硬件·学习
vortex53 小时前
学习使用 Git 和 GitHub 开发项目的教程推荐
git·学习·github
XH华3 小时前
C语言刷题第六章(下)
c语言·学习
老子姓李!4 小时前
【GD32】《当RISC-V撞上Wi-Fi 6:GD32VW553的“芯“动初体验》
单片机·嵌入式·risc-v·iot·gd32
猫猫的小茶馆5 小时前
【STM32】从新建一个工程开始:STM32 新建工程的详细步骤
stm32·单片机·嵌入式硬件·mcu·51单片机