STC32G12K128-64pin 端口复用矩阵表
wnagming 发表于 2024-7-16 07:18
说说我吧,用过的单片机好多,有8位机,也有32位的,如果我专注于一款芯片的配置,那么其他型号就得重新配 ...
1. 所以我现在写代码就把与硬件有关的和与通讯有关的及软件逻辑都分开写,这样在其他型号的单片机中编译时,只修改与通讯有关的,如果换了外设,就只修改与硬件关的,很方便移植。
回复:业务和CPU相关代码分离,这个我百分之一万支持,毫无异议,完全赞同!
2. 如果我专注于一款芯片的配置……建议你不要太专注于这件事
回复:我反反复复看了我这个图很多遍,实在是没看出这和芯片配置有啥关系啊?我整理的这个图是用来快速筛选合适端口的,和芯片配置那是一丁点儿边都不沾呀……
首先声明我是业余的。在搞单片机的过程中我发现一个问题,选择合适的端口远比写业务代码要难,多功能复用端口到底该用哪个非常头疼。选的过程中得来来回回翻手册记端口,对我这种没记忆力的人非常不友好,一旦选的不太好后期还特么得改板子设计……
所以才整理了这个一眼明了的表格出来,基本上一眼就能选出合适的端口出来了,不用来来回回翻手册折腾了。
举个例子,假设我现在需要做一个16进16出的类PLC控制器,那么一眼就可以看出P1、P5不合适,因为端口不连续,做批量输出不方便。也一眼能看出P3适合做外部通信,因为只有它能做下载以及USB通信,其它协议也支持较多,而且INTx外部中断也在这个端口上。还能看出P2、P6更适合做输出一点,因为有PWM。而P0由于带ADC可能做输入更合适一点,数字或者模拟基本都有胜任……
如果没有这种可视图表的话,这个过程对于我来说将会非常痛苦和困难(当然也很可能是我太菜了,哈哈)
3. 因为单片机出新产品的速度太快了,难道每出一款你都要这么干吗?
对于我来说的话,我将要学习或正在使用的每一款还真准备都这么干,这是个麻烦一小会但之后长期有收益的事,何乐而不为?而且这整理这个表的过程中,也基本将手册过了一遍,对单片机的外设功能能够更加明确(包括表中的横轴也清晰列出了单片机的功能),怎么看都是一个快速学习的好途径。
wnagming 发表于 2024-7-16 13:02
你说的有道理,每个人的学习方式和路径都是不同的,我的建议可能不适合你,我收回,抱歉 ...
{:4_197:}其实我更想听到你的学习方法分享,哈哈。
每个人的学习方式都有各自优缺点,多交流才能取长补短,这也是我很愿意把我学习过程分享出来的原因 看了些单片机书和你看arduino的库文件很多都说一些硬件配置可以用宏定义配置,这样适配硬件的时候只要修改头文件不需要在去修改源文件,移植更多还是按个人习惯来,但是如果按arduino的库文件方式来其实更简单。 soma 发表于 2024-7-16 19:47
看了些单片机书和你看arduino的库文件很多都说一些硬件配置可以用宏定义配置,这样适配硬件的时候只要修改 ...
{:4_167:}我喜欢自己封装库,但不太爱用别人的库。
包括在公司项目里面,用第三方库也是一定要有源码的,放一份源码到项目中(很大概率还会改改),很少直接使用lib啥的 hsrzq 发表于 2024-7-16 20:03
我喜欢自己封装库,但不太爱用别人的库。
包括在公司项目里面,用第三方库也是一定要有源码的,放一份源 ...
arduino库文件几乎都有源文件的。官方库也一样。 soma 发表于 2024-7-16 20:07
arduino库文件几乎都有源文件的。官方库也一样。
这个我知道。我本来就是一个业余纯瞎搞,MCS-51、Arduino、Micro:Bit、ESP8266/ESP32、RaspberryPi、RK3588的板子我都有,最后发现只有51的从头到脚我能全部看懂,其它的板子都只能理解一部分,即使搞了成就感也不太强,所以现在主要是弄51了
页:
[1]