打印

[MCU] 一个关于CC2541十分古怪的问题,请教

[仿制链接]
202|3
跳转到指定楼层
楼主
 楼主 | 2019-6-18 14:54 | 只看该作者 ||退出气泡形式 回帖奖赏 |倒序阅览 |阅览形式
请教各位大佬,,小弟在调试一批板子时,发现有单个会发不出信号,从头烧写程序后仍然没有信号,本以为是硬件问题,可是用示波器测验后发现晶振没有起振,更换新的晶振后仍是有问题,故扫除晶振的原因。。。。后来我从头生成了HEX文件并烧录,就忽然有信号了,而且再烧本来的HEX的文件后,没有再呈现那个问题。。。。现在很利诱,不知道是程序哪里出了问题,,,,,,不过在第一次烧写程序时有个现象很古怪,便是刚开端用SmartRF Flash Programmer一向衔接不上,复位好几回后才点亮,可是烧写的过程中,会呈现烧写不成功的提示 chip is locked/或许超出16kb容量等提示 ,可是又复位几回后就烧写成功了 ,,,我不知道是不是烧写这块出了问题,,,请教各位大佬

一直初始化用的时下面的代码,,
void SysStartXOSC(void)
8 {
9     SLEEPCMD &= ~0x04;                      // 发动一切晶振
10     while (!(SLEEPSTA & 0x40));             // 等候晶振安稳
11
12     CLKCONCMD = (CLKCONCMD & 0x80) | 0x49;  // 运用16M晶振奋为主时钟
13     while ((CLKCONSTA & ~0x80) != 0x49 );   // 等候主时钟切换到16M晶振
14
15     CLKCONCMD = (CLKCONCMD & ~0x80) ;       // 运用外部32K晶振奋为休眠时钟
16     while ( (CLKCONSTA & 0x80) != 0 );      // 等候睡觉时钟切换到外部32K晶振
17
18     CLKCONCMD = (CLKCONCMD & 0x80) ;        // 运用32M晶振奋为主时钟
19     while ( (CLKCONSTA & ~0x80) != 0 );     // 等候主时钟切换到32M晶振
20
21     SLEEPCMD |= 0x04;                       // 封闭未运用的晶振
22 }
沙发
 楼主 | 2019-6-18 15:11 | 只看该作者
上述情况是偶然发作的 我现在要点置疑和烧写程序时有关,我的猜测对吗大佬们?
板凳
| 2019-6-18 21:58 | 只看该作者
应该是板卡规划有缺点     程序影响IO等接口   导致全体不安稳
地板
| 2019-6-18 21:58 | 只看该作者
要点查时钟  复位  电源
扫描二维码,随时随地手机跟帖
*滑动验证:
您需求登录后才能够回帖 登录 | 注册

本版积分规矩

我要发帖 投诉主张 创立版块 请求版主

快速回复

您需求登录后才能够回帖
登录 | 注册
高档形式

论坛热帖

在线客服 快速回复 回来顶部 回来列表