前言

手里有几个STM32F103RET6应用的板子,整天被采购问询是否能用国产替代,成本快搂不住了。这次又拿了HK的样片,作为替代,尝试一下。

开始没做任何修改,程序下载了就跑起来,让我还抱怨了一番,感觉是不是拿错片子了。后面静下心来,详细测试了使用的各功能模块,

还是有点小问题的,不过非常好修改,作为应急替代使用,应该问题不大。所以,补写个序,告知下本次替代容易至极,如果有同样需求,放心大胆的干吧!

随之而来的悲催就是,这几天的工作就大部分的成了拍照,留念,技术内容并不是很多,有ST使用的底子,基本上不需要强制查阅手册之类的文档,完全无压力。

本来准备好的替代步骤,技术攻坚,变成了如下的“旅游回忆录”。

1.  先把芯片换了再说

换之前,先留个ST的影像,一会就换了它。

换好了,拿回办公位,我的焊工还算可以吧。只是酒精干了,杂质没有清理干净,引脚有些发白。

准备就绪,后面怎么办?网上说的那么的神,直接烧ST的程序,行不行?

2.  直接原ST程序直接烧写

我无语,直接烧写原ST的程序,不做任何修改,居然能跑起来?那我还玩什么?

都准备好一顿操作了,结果,给我直接憋在了开始~~~~红色电源指示,蓝色闪烁程序运行指示。

是我出现幻觉了么?这是第一次接触航顺啊,怎么可能这么的顺利。

打开MDK,来确认下眼神,确实把ST的程序,烧到了HK的片子里,直接就跑起来。本来是打算挑挑毛病的呢……

好吧,既然事实已经如此,那么回过头来,看看当初STM32里到底使用了哪些资源。

整个程序基于HAL库,硬件初始化部分。

程序是同事开发的,我当前只是尝试验证是否满足芯片替代的条件,程序开发的过程中,兼容了一些产品,初始化的资源,比实际使用的多一点,下面验证下使用到的模块是否正常。

GOIO:PC13
DMA1: 后来程序测试的过程中,发现并没有使用DMA
ADC1: ADC_CHANNEL_9 , ADC_CHANNEL_10,ADC_CHANNEL_11
USART: COM1 COM4
Timer(PWM) : TIM3
SPI2:这个实际没有用到,作为预留功能的。
DAC: DAC_CHANNEL_1

3.  既然程序跑起来了,突然觉得没事干了,验证下当前使用的资源,工作是不是正常吧。

3.1 IO输出(PC13)

直接看程序运行状态指示,闪烁频率正常。   还用到了其他IO,单纯的IO使用,问题不大。

3.2 串口

数据收发正常。

3.3 DAC输出检测

电压输出可控,正常。(开始着急了,这也正常?都正常我去哪找毛病?)实测DAC输出正常,但是在HK的应用笔记中,找到如下注意事项,我想,在应用中,还是参考下应用笔记吧。

3.4 ADC检测

开始没注意,一看ADC采样有数据,貌似正常,差点溜过去。但是,我用了9,10,11三个通道。那么,问题来了,我之前的采样顺序是10,9,11,实际测试发现,通道顺序乱了,导致我的采样数据也乱了。

哈哈,终于找到了毛病,可以发泄和吐槽~~~直到这里,才刚刚开始找HK的资源。先换HK的pack,编译尝试一下,设置和芯片选择如下:

选M3

至此,编译下载,问题没有解决,不是PACK包的事。

接着在在HK的应用笔记中,看到了对多通道ADC使用的过程中的一些描述。

那么好,按照应用笔记试试,加延迟。结果,哎,不是我想要的结果啊,这下只能靠自己了~可别让我丢人啊~~

还有哪里呢?既然是通道顺序乱了,那么,ADC初始化里~

至此,更改完之后,ADC几个通道采样值正常了!!缓口气,前面吹了半天,差点掉链子~

但是讲真,我还没搞明白为什么,还特意的找个ST的板子验证了下,用ST的片子,我之前的设置没有问题,用HK的,要改一下,哪位大神,调试过ADC,还望指点~

这个后面,再看看HK的手册,既然当前adc的值正常了,这里先跳过了。

3.5 没耐性了,基本用到的模块也都简单验证了,直接装到整机里,看看效果。

替换原设备位置,整机检验,工作2h,设备状态稳定~~~~  暂且认为替代成功,后面的验证,交给质量部门。

3.6 忽悠忽悠同事,换到他的板子上试试。

由于替代比想象的容易,又扔给同事,把芯片换到他的板子上,反馈我的信息是:

1、程序直接下载就能用,

2、串口,定时器没问题,

3、有个i2c的器件,读不到数据(程序中使用了硬件i2c,这个应该不叫事,应用笔记中有提到,实在不行IO模拟也能解决。)

4. 浏览航顺官网

貌似都完事了,官网都没有打开,有点不合适。也禁不住那个懒惰的小精灵,在头上叫着“是不是可以用ST去开发,然后简单修改就好了?”

但是,我要让那个勤劳的小精灵获胜,还是要回到官网去看看~~

http://www.hsxp-hk.com/companyfile/23/

在这里下载F103的PACK包,同时可以根据自己的需求,下载用户手册和数据手册。航顺官网做的还是很工整的,资料很好找。

选型表,这个很多人会问,不用的时候,啥用没有。想找一找的时候,又找不到。记得顺便存一下,或者联系技术支持聊聊天。

后面应该会一点点的过度好航顺的库上去,毕竟用谁家的东西,就要用谁家的“灵魂”嘛。

5. 小结

或许是使用的资源有限,或许是运气好。替代过程,非常的容易,基本上没有过多的查看HK的手册和应用笔记。

程序直接下载就能跑起来,功能模块详细测试时,发现adc多通道采集时,通道采集顺序与预期不符,也是简单修正初始化部分,就能正常。

感觉如果产品已经定型,寻求芯片替代的话,真的可以考虑,硬件不用修改,软件测试下功能模块就好了,要求严格的话,测试下整机和环境适应性,应该问题不大。

在测试过程中,选用ST和HK的pack进行编译,暂时没有发现不适应的状态,不过,我这里是初步测试,应急使用可以参照,后期替换的过程中,应该会慢慢的转到HK的库上来。

-END-

我是张巧龙,一名教电子的大学老师,欢迎关注!

STM32涨价?那就用国产32替代吧!相关推荐

  1. 用国产CH32替代STM32,快来试试看!

    /* 作者: 罗冰  https://blog.csdn.net/luobing4365 */ 随着芯片价格疯涨,项目的不可控性越来越大.特别是价格方面,达到了无法想象的地步了. 按我的记忆,之前项目 ...

  2. 国产单片机替代-CH32替代STM32

    (请保留-> 作者: 罗冰 https://blog.csdn.net/luobing4365) 国产单片机替代-CH32替代STM32 1 固件下载 2 代码编写 2.1 STM32的USB- ...

  3. 软硬件兼容STM32F103系列的国产32位MCU

    介绍一款软硬件兼容STM32F103系列的国产32位MCU,此款32位MCU采用高性能ARM®Cortex®-M3 32位RISC内核,216兆赫兹频率运行,内置256KB的闪存和高达96KB的SRA ...

  4. 国产32位单片机有哪些

    国产32位单片机有哪些 国产32位单片机有哪些呢 1.兆易创新GD32系列 2.灵动微MM32系列 3.华大HC32系列 4.南京沁恒CH32系列 5.华芯微特SWM32系列 2021年单片机价格 国 ...

  5. 国产32位单片机有哪些?

    我们都知道,与国外相比,国产的32位单片机在质量上和可靠性上方面确实存在一定的差距.但是2020年一场突如其来的疫情,让单片机的价格迅速上涨,尤其是依赖海外芯片的涨幅尤为明显,比如恩智浦.ST等单片机 ...

  6. 分享一款电机控制国产32位单片机MM32SPIN360C

    国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器.三组具备有自举二极管的N通道半桥栅极驱动器.MCU最高工作频率可达96MHz,并内置SRAM高速存储 ...

  7. 分享灵动微国产32位MCU全新MM32F系列

    全新MM32系列是灵动微电子于2020年推出的新一代通用MCU平台,旨在为客户提供更高性能.更低功耗.更高可靠性.稳定性和健壮性的微控制器.全新MM32硬件上与经典MM32全兼容,保留了2.0-5.5 ...

  8. 基于ARM Cortex M0国产32位单片机MM32SPIN220B

    灵动MM32SPIN220B使用高性能的ARM®CortexTM-M0为内核的国产32位MCU,内嵌两组具备有自举二极管的N通道半桥栅极驱动器.MCU微控制器工作频率高达96兆赫兹,内置高速SRAM存 ...

  9. 在STM32价格疯长下,哪些国产32可以替代?

    关注.星标公众号,直达精彩内容 前言 上次(2020.10.28)的时候,我登陆立创商城,搜索stm32f103c8t6,单价15左右,100片的话,价格不到13. 2021.1. 13 ,再次登陆, ...

最新文章

  1. 针对《评人工智能如何走向新阶段》一文,继续发布国内外的跟贴留言427-438条如下:
  2. 认认真真推荐几个机器学习、深度学习公众号
  3. 4702: 分糖果系列一
  4. Windows 下使用Git管理Github项目
  5. 从EEG中解码想象的3D手臂运动轨迹以控制两个虚拟手臂
  6. 「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)
  7. Spray + Akka高性能异步IO并发
  8. SpringBoot 精通系列-SpringBoot如何操作Memcache
  9. php 检测键名,【PHP教学|带你学习用PHP检测键名是否位于数组中,方法已经告诉你了,如果你想学就赶紧】- 环球网校...
  10. Windows远程桌面使用本地USB打印机
  11. android pt分区,[玩机技巧之Android篇]系统分区之System、Data、cache 来自 淡影寒...
  12. 事务的四大特性(ACID)
  13. 什么是四种七和弦 和三种转位
  14. 安卓开发招聘!免费Android高级工程师学习资源,2年以上经验必看
  15. 『Less』学习笔记
  16. 计算机应用技术班级介绍,【完满超级团支部】计算机应用技术20-4班开展“点燃青春之火,成就辉煌人生”班级演讲活动...
  17. [附源码]Python计算机毕业设计大学生校园社团管理系统Django(程序+LW)
  18. SpringBoot单元测试NullPointerException
  19. android usb充电电流,留心手机充电电流大小,别等到“机毁人伤”时才后悔!
  20. mybatis-plus存数组对象,并从数据库查出这个数组

热门文章

  1. SAP UI5应用debug级别的日志打印如何设置
  2. 介绍一个统计各个网站访问时长的Chrome扩展 - Rooster
  3. CRM User status optimization - heavy calculation logic of status filter
  4. How is XT9 old transaction launched in GRE 210
  5. document builder how is document url being generated
  6. SAP Kyma上都有哪些namespace?
  7. javascript file cached in server side
  8. 如何为SAP OData消费维护不同的ABAP后端系统
  9. SAP Marketing Cloud的技术架构
  10. SAP S/4HANA生产订单释放后自动同步到MES系统