打印
[其他]

灵动微MM32F103单片机常见问题解答

[复制链接]
591|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王小琪|  楼主 | 2020-11-10 22:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

灵动微MM32F103系列产品使用高性能内核M3的 32 位微控制器,典型工作频率可达144MHZ,内置高速存储器,丰富的增强型 I/O 端口和外设连接到外部总线。提供5种封装形式,包括 LQFP100、LQFP64、LQFP48、LQFP32 和 QFN32 共 5 种封装形式。根据不同的封装形式,器件中的外设配置不尽相同。该产品适合使用在电机驱动和应用控制,医疗和手持设备,工业应用以及警报系统等。

SPI
1 、SPI 支持哪几种模式
按传输方向分

  • 全双工模式,同时收发数据,同时使能 TX 和 RX;
  • 半双工,在不同时间段进行读写,ENABLE TX 时 DISABLE RX,ENABLE RX 时 DISABLE TX;
    按采样时序分
  • 模式 0,空闲时时钟为低,第一个时钟沿采样;
  • 模式 1,空闲时时钟为低,第二个时钟沿采样;
  • 模式 2,空闲时时钟为高,第一个时钟沿采样;
  • 模式 3,空闲时时钟为高,第二个时钟沿采样;

2 、SPI 主机通信不正常有哪些原因
常见原因:

  • 配置不正确,表现为无时钟输出;
  • 模式配置不正确,表现为采样点与预期不一致(SPI_CCTL bit0 = 0 为第二个时钟沿采样);
  • 速度配置过快,表现为波形异常;
  • 数据位数配置与 device 不一致,表现为 CLK 个数不对.
  • CS 信号不正确,表现为 CS 信号与 device 时序不对应;

Vbat 的电源接入有什么要求;
如果在应用中没有外部电池, 建议 VBAT 在外部通过一个 100nF 的陶瓷电容与 VDD 相连. 如外接为电池,为保证不损坏,建议在外部 VBAT 和电源之间连接一个低压降二极管。如无外接电池,即使不用 RTC 功能,也需要给 VBAT 供电;

KEIL 例程编译失败可能导致的原因
常见原因:

  • 没有安装 keil4 的兼容包,软件名称为:MDKCM516_legacySupportMDK4(出问题最多)
  • 移动了 keil 工程文件,导致无法找到相对路径的文件
  • 程序太大,超过 FLASH 或者 SRAM 容量
    解决办法
    针对 1 和 2 的问题,将 BOOT0 和 BOOT1 接到高电平,复位或者重新上电一下,然后再读 ID。若能读到 ID,则在此模式下擦除程序,然后再将 BOOT0 和 BOOT1 接低电平,这时候 ID 就能读到了。

KEIL 程序编译通过了,可是下载程序失败
常见原因:

  • 硬件电路没有接好,查看 debug 工具是否连接上板子中的 JTAG 或者 SWD,能否读到芯片IDCODE。
  • 若是 Debug 工具能读到芯片 ID,但是无法下载,原因是没有选择 Description 型号,具体配置选择如下图所示。

外部高速时钟接法
外部无源晶振电路如下图所示,晶振两脚接约 22pf 电容,并上 1M 反馈电阻。因芯片内部没有集成反馈电阻,为保证 XTAL 起振,必须接 1M 欧姆电阻;

外部时钟异常常见原因
运行程序通常用到外部高速时钟做系统时钟源,有时候在调试中会遇到系统时钟异常导致程序停止运行,以下列出几点可能的原因:

  • 外部晶振未加反馈电阻,导致外部无稳定时钟输入;
  • 外部晶振范围 8~24MHz;
  • 晶振与芯片引脚间断路;
  • 晶振质量问题导致,不正常起振;
  • 芯片系统时钟配置过程错误等等

使用特权

评论回复
沙发
名字是啥样| | 2020-12-12 17:18 | 只看该作者
感谢汇总的知识贴,感谢楼主整理。

使用特权

评论回复
板凳
嵌入小菜菜| | 2020-12-17 20:35 | 只看该作者
感谢楼主细致的整理和分享。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

227

主题

578

帖子

6

粉丝