历史上的今天
今天是:2024年09月02日(星期一)
2018年09月02日 | STM32F042替换STM32F103
2018-09-02 来源:eefocus
因为从事汽车CAN总线及多媒体解码盒,常常需要解一些简单的CAN数据,需要的硬件IO不多,仅仅是CAN+UART,所以最近为了节省成本,也是花了不少心思。
直到最近发现了STM32F042,据介绍,这是带CAN的最小封装芯片。
STM32F042----Cortex-M0内核 。14年初推出的芯片,号称带CAN总线的最便宜的MCU....
仔细查了下手册,果然很适合我的项目,而且价格也便宜,据说RMB 4-6之间,最小TSSOP20封装。这对于汽车小产品来说,简直就是量身定做。
不说了,赶紧动起来,先搭建最小系统,CAN收发器TJA1050+STM32F042+7533就是最简单的了,暂时不要晶振了,虽然CAN的波特率比较高的时候还是需要晶振的,不过一颗晶振也要好多RMB的 。
接下来最麻烦的事情来了,因为习惯使用IAR来做开发,而且积累下来的程序源码都是UCOSII的,网络上的开源代码居然都是KEIL MDK的,这下囧...
不过也没办法,为了节省成本,只好多花点时间了 。
两根礼拜过去,基本都调通,代码架构也移植OK,这下终于可以把103的代码全部移植到F042上了。
有几个要注意的:
1.库函数区别:F042对很多库函数进行了修改,需要注意区别;
2.F042的CAN与103有所不同,需要参考寄存器定义,对于高速波特率,如500K、800K需要外置晶振;
3.无法使用USART1,因为是USART1/CAN/USB复用,这里被CAN占用了;
4.F042的配置文件没有规范化,很多寄存器定义只能从F072里面找,而又不能完全使用F072的配置文件;
5.F042的*it.c文件不规范,其实STM32F0系列的都一样,库函数版本低,没有把中断函数文件做好规范化,导致很多函数定义混乱;
6.时钟安全CSS的内容完全没有提及,虽然从各种资料能找到介绍,但是基本没人用,也没关注到CSS的重要性;
7.F042的功耗要小很多,在同样的时钟8MHZ下,F042电流只有4mA, 103达到9mA以上;
8.F042的USART1是增强型的串口,支持LIN 主从模式,UART2是普通串口,不能用于LIN主模式;
9.P042F4标称FLASH容量是16K,但是实际上容量是32K,F042F6倒是真的只有32K,这搞不懂是为啥;
10.低功耗方面做得很好,比F1系列方便很多。
最后希望F042会和103一样,价格越来越便宜,质量越来越好。
-------------------------------------------------------------
20180330新增问题:
因为用这颗芯片同时做了CAN接口和LIN接口,发现并不能完整移植F1XX系列的LIN函数库。因为F0XX系列的函数库相对F1XX缺失了很多的LIN有关函数,比如有一个函数 Send_Break()是做LIN通信非常必要的却根本没有找到函数定义。为此花了很多时间研究如何实现SendBreak功能,一个月多月了也还是不得其所,最后还是花钱在某宝上找到了一个牛人帮忙解决的。
有些问题看起来很简单,真正做产品的时候还真不是那么回事。
作为诚实劳动成果来说,代码中的每一行代码都凝结了不少人的心血甚至是惨痛教训,还有些祖传代码虽然看起来乱七八糟却是实实在在的铁饭碗,每个程序猿的个人价值都靠这些代码来维持。因此,请那些伸手党请尊重他人的劳动,也珍惜自己的劳动!
下一篇:STM32的can总线实验心得
史海拾趣
|
没想到第一个参加这个活动,也算是抛砖引玉一下了,希望有后来人能够找到更强悍的! 我晒得这个是一个用光作为媒介的调频传输系统。发射机把565锁相环用作电压控制振荡器,使光电隔离器的发光二极管按照与输入电压成正比的速率而闪光。光电晶体管 ...… 查看全部问答> |
|
下载50mb 的开发资料包:实例,原理图,keil 正式版,下载实验板免费申请中 下载50个单片机程序实例和开发板原理图,学林电子免费开发板新年助学活动报名啦! 申请主贴地址: http://www.51c51.com/bbs/thread-44274-1-1.html… 查看全部问答> |
|
我在网上看到S3C2410A将系统的存储空间分成8个bank,每个bank的大小是128M字节。 每个bank都有一个nGCSx对应 nGCSx被叫做片选,片选上可以连接内存 那是不是一个256M的内存链接到上述一个片选上,因为一个片选对应的bank的大小只有128M,就会浪费 ...… 查看全部问答> |
|
我现在有一块开发板,cpu是s3c2410,64M SDRAM, flash 只有nand flash,我现在用来做vxworks. 我改了好多天的bsp,现在仍然没有串口信息,我想请教几个问题,希望哪位大虾帮我一把,谢谢! 1)bsp中是否能支持nand flash? 2) 如果能,具体该怎 ...… 查看全部问答> |
|
香版,TIMx_CH1和TIMx_CH2同时做PWM模式输入可以吗 请问香版,同一个的TIM的CH1,CH2能否同时做PWM模式输入还有,CH1,CH2在做PWM输入时,CH3,CH4能否做输出比较模式输出?… 查看全部问答> |




