记录一个小项目，是给天津某公司开发的，上个项目合作很融洽加上这个东西不是很花时间，就没要开发费用，把材料费报了就行。嗨需求是这个样子的，遥控要有8个按键，遥控接收板要能容纳若干遥控接收器（暂时1-2个，后期可能多几个），遥控键值通过RS232发出来就行了。整个开发流程是这个样子的：1.先继续沟通需求方面的细节（尤其是硬件），例如RS232接口，电源接口的选用，提供的电源情况等等。经确认，接收板上的RS232用DB9公口，电源接口用DC5.5*2.1mm母口，电源电压12V。至此需求就已经都弄清楚了。2.确定方案。这个项目有这么几个主要的地方需要设计，一个是MCU和遥控选型，一个是稳压方案。MCU如果用比较熟悉的32的话，供电就是3.3V，那如果遥控也选用3.3V供电，那稳压只需要做一个12V-3.3V就可以了。预设最大容量5个遥控接收器的话，大概也就是需要40个io，再加上RS232需要两个引脚，一共需要42个引脚，那么需要选用64pin的MCU，暂定STM32F103RCT6。，甲方问到遥控用什么频段好，em，常用就是315mhz和433mhz，315m距离远，穿墙性能好，433抗干扰好一些，如果是空旷区域可以用433，密集地区或者墙多用315，去淘宝选了一个合适的遥控。板子上所有器件都走3.3V电源，找个最大输出电流稍微大一点的稳压芯片就行，大于500mA肯定够用，甚至2，300mA也没问题。最近用过正点原子12V-5V的稳压电路，用的MP2359，输出电压是根据两个电阻可以算出来的，当然也可以自己按需调节输出电压。然后我们看一眼手册，输入电压4-30V，最大输出电流1.2A，哇相当nice，虽然工业上讲究留余量，那这个也非常满足条件了。3.画电路图。画原理图的同时，选器件并且在立创eda到处选用器件封装（一定要注意带极性的器件，一定不要原理图用AD官方库，封装用立创eda导出，这样极性肯定是反的，贴片的时候很难发现（几乎所有带极性的器件，AD官方库和立创eda导出的都是反的）），然而在立创商城插件时发现，31.25K阻值的没有贴片电阻，所以得稍微根据公式调整一下电阻，最终确定R1、R2为29.8K和9.53K，检查原理图的时候还发现了之前抄正点原子电路的时候有个地方抄错了（画稳压电路pcb拓扑的时候发现不对劲哈哈哈），嗨，还好那个板子还停留在讨论原理图的阶段。TTL-RS232就用常用的SP3232就好。按照挑选的遥控接收器的引脚顺序画好原理图添加好封装，生成到pcb。可以看到虽然设计的最大可以插5个遥控接收板，但是pcb布局的时候发现有一组接收板的电路不好布，删掉了。至此电路图画完，耗时，一个晚上4.打板+smt+买插接件。下单这些东西，还是很费时间的，贴片的东西得一个一个的校对，还有把发票开好。立创商城没有的，去淘宝找件下单（注:插接件不贴是为了节省成本，甲方能自己焊插接件）。另外下单的时候发现选用的MCU没货了，换成了兆易的国产同型号32做平替，所以后续编程的时候还是需要小小研究一下的。耗时，一个上午然后就是等待，嗨，等东西都到了，正好我手里没有烙铁，去甲方公司焊，正好去修补一下上个项目的bug（校对了各个方面都是没问题的，后来发现程序运行的很慢，突然意识到是晶振没起振，发现是我下单SMT的时候，22pf的起振电容选成了22uf，会犯这个错误是因为我画电路的时候这个电容只写了数值没写单位，emm，哎这么多细小的地方，有一点疏忽都可能会导致系统运行错误）5.焊接调试。工欲善其事必先利其器，调试工具得全乎。首先我手里就两个下载器，之前做上个项目的时候都给甲方了，得再买两个；除此之外就是DB9母口-USB线买两根（常用是公的em）。硬件调试无非就是看看稳压是否正常，嗯没问题，就是电源接口有点紧em。6.编程。第一次用KEIL5编写GD32的程序，得安装对应芯片型号的固件库，在兆易官网上找到，下载安装。然后随便在百度上找了一个usart的工程，拿来魔改。魔改没那么快，因为GD32和STM32写起来还是有不少差别的，其中比较代表性的就是stm32的三个usart串口分别叫1，2，3；而GD32的三个usart串口分别叫0，1，2（手册里都有写，哎但手册还是不太完善呀，用起来不是那么得心应手）。还有一个比较耽误时间的事情，因为现在我习惯下载口用SW的了，因为占用引脚少，所以给遥控器接收器分配引脚的时候，就是按顺序配的嘛为了好布线，里面包括了JTAG的引脚，JTAG的引脚默认是不能当IO口用的，若须用作IO口需要做一个复用，怪不得调试的时候总有那么两个戈巴冷子的引脚我都初始化成下拉输入了，还一直高电平，咋调教都不听话，烦人。经过一些列的调试，嗯。板子有两套，所以调完程序，直接发给甲方就行，我不用再过去了。整理材料花费，整理发票，写个使用说明和二次开发说明，是吧，上限4个遥控，即插即用，结项。耗时，一个下午+一个晚上