|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
最近搞了个准备开源的VFD驱动板(板上有高通字库、DS3231、ESP8266模块,CH330N串口芯片),为了VFD爱好者方便使用(基本都只会51),单片机使用的是STC最新的STC8A8K64S4A12,这个应该是STC最高级型号了,淘宝价3.4元,价格超过了STM32F051C8T6 ,使用后,还是挺失望的。有几个问题,第一次加入的硬件I2C极为不稳定,因为STC8的I2C总线,实际上是不支持真正意义上的分频的,所以,根本无法获得一个准确的I2C 时钟频率,而且,I2C不支持上升时间、下降时间的调节(广为诟病的STM32 I2C问题,就是在使用中没有注意这两个,实际是没有问题的),导致I2C兼容性极差。表现出来的就是用硬件I2C驱动DS3231时,有时候能正确读出,有时不能,最后不得不用软件模拟,稳定可靠。ADC,慢速的读取问题不大(1HZ),高速读取时(33KHZ),读取的数据杂乱无章,再按照官方电路做了ADC电压参考,并严格隔离数字地和模拟地后依然没有改善,为了这个问题前后打板4次依然无果(STM32,随便搞下都很稳定),这个后续继续研究,网上也有人遇到同样问题。再说说输入捕获PAC,用这个功能做了换个NEC红外遥控解码,但是STC8的输入捕获,不支持单通道上升沿和下降沿的同时捕获,是不能准确获取高低电平准确时间的,幸好NEC编码是个不等时长的编码,只捕获两个下降沿计算总脉冲时长就行,影响不大。硬件SPI总线兼容性还不错,没有发现大问题。串口2使用注意下,如果同时使用ADC需要在ADC转换结束后,把ADC电源关掉,否则就串口2会影响ADC采样数据。在使用串口接收中断后,就不能用printf函数了,表现为卡死,自己编了个类似的函数,解决问题。号称的支持最高33MHZ的外部晶振,也不太稳定,在使用33MHZ的外部晶振时,经常程序无法下载,用24MHZ的内部时钟就没有问题。最后吐槽下下载方式,2019年了,还在使用20+年前的串口下载方式十分的不解,这种方式貌似成本最低,最适合DIY爱好者,但是对于一个开发者来说简直是噩梦,每次下载程序都要去开关下电源,虽然有自动下载器,其实很也不是很稳定,同是51内核的台湾新塘着使用NU-LINK下载,十分的方便。
https://www.mydigit.cn/forum.php?mod=viewthread&tid=72430
|
打赏
-
查看全部打赏
|