本帖最后由 chiusir 于 2020-4-17 14:14 编辑
龙邱精心研发的STC8库几周前已完成, 但无STC8H芯片实测,一直没有公布, 据厂商消息,8H的芯片估计近期将有 : )
目前STC适用于智能车竞赛的芯片有三款, 分别是STC8G、STC8H和STC8A, 许多同学申请的样片都是8G芯片, 8H的芯片鸽了一次又一次还没现货, 8A是最近才补充的一款芯片。 几款芯片相比之下, 8G的SRAM只有2K,而8H和8A均有8K, 对此龙邱科技根据这几款芯片的差异, 在程序底层部分进行了处理, 库函数上层API接口保持不变, 方便大家根据需求选择芯片。
同时,店铺有核心板和母板供大家选择。
1 芯片差异 STC8G2K64S4 与 STC8H8K64S4芯片差异: 以 LQFP48封装为例: 官方说明:按STC8H8K64S4U-48I-LQFP48设计 (1) 不使用STC8H8K64S4U-48I-LQFP48的USB功能 (2) 不使用STC8H8K64S4U-48I-LQFP48的P2.0/P2.1做PWM,则电路兼容
2 芯片引脚区别 龙邱科技的STC8H核心板, 在不焊接外部晶振时兼容STC8G芯片, 母板硬件兼容,个别引脚需要在库中修改, 分别是:芯片的8-13引脚, 两款芯片在核心板中引脚对应的i/o不一样, 在此需要注意,区别如图:
3 库函数
目前由于没有STC8H芯片,库函数实测支持8G, 后续会对库底层进行更新,兼容8A和8H,届时, 更换芯片只需要切换工程配置即可,程序不需要重新编写。
4 GPIO示例 确定IO工作模式 (1) PIN_InitPushPull(0,5) //初始化P05 推挽输出模式
5 ADC示例 (1) ADC通道初始化 ADC_Init(0); //初始化P10为ADC通道0 (2) 读取ADC通道值 uint16_t xdata adcValue = 0; ADC_GetValue(0, adcValue);
6 带方向编码器采集示例 (1) 初始化定时器脉冲采集功能 TIMER3_EncInit(); //脉冲计数管脚 P04 (2) 读取定时器值 uint16_t xdata encValue = 0; TIMER3_GetValue(encValue);
7 PWM示例 (1) PWM通道初始化 PWM_Init(1, 0, 12500, 0); //初始化PWM1 通道0 频率12.5KHz 占空比0 (2) 设置PWM通道占空比 PWM_SetDuty(1, 0,1000); //设置PWM1 通道0 占空比10%
如果大家在使用过程发现bug,或者有什么建议和小主意, 均可在淘宝或者QQ(车友交流群1025685872)上联系我们, 我们会及时更正,感谢您的宝贵意见, 龙邱始终伴您一起成长哦!!!
直立节能组 资源规划 STC8GLQFP48封装为例
1 电磁ADC采集 推荐使用i/o: P0.0、P0.1、P0.2、P0.3、P1.1、P1.2、P0.7
2 速度脉冲采集 STC系列推荐带方向编码器,利用定时器捕获脉冲,普通i/o获取方向。 推荐使用i/o: P0.4(T3)、P0.6(T4), P0.5(普通i/o)、P4.7(普通i/o)
3 电机驱动PWM 推荐使用i/o:P1.0、P2.2、P2.4、P2.6
4 IIC 推荐使用i/o:P1.4(SDA)、P1.5(SCL)
5 ICM20602硬件SPI 推荐使用i/o:P3.2(SCL)、P3.4(SDA)、P3.3(SA)、P3.5(CS)
6 干簧管(外部中断) 推荐使用i/o:P3.7(INT3)
7 其他接口按键例程推荐 i/o STC8开源库链接: 提取码:krab 【b站】即将推出,STC8 开源资料视频, 请搜索“龙邱科技”观看! |