在线时间0 小时
UID332568
注册时间2010-5-5
NXP金币0
该用户从未签到
新手上路

- 积分
- 58
- 最后登录
- 1970-1-1
|
我提议一个方法 测试系统时钟是否与波特率相关
先上传个内容是 如何对 mcf52259 进行超频 其他类似 (mqx下写好的初始化程序 ) 我复制过来的
void mcf5225_init( void )
{
VMCF5225_STRUCT_PTR reg_ptr = (VMCF5225_STRUCT_PTR)BSP_IPSBAR;
/* Disable Software Watchdog Timer */
reg_ptr->SCM.CWCR = 0;
/* Enable Program Status Outputs, PST[3:0] signals */
reg_ptr->GPIO.PDDPAR = MCF5225_GPIO_PDDPAR_PST;
/* Initialize the PLL
** Divide 48Mhz reference crystal by 6 and multiply by 10 to achieve a
** system clock of 80 Mhz.
**
** To set an MFD of 憍?and an RFD of 憏? you must first program RFD to 憏+1?
** then program MFD to 憍? then let the PLL lock, then program RFD to 憏? If
** you program RFD simultaneous to MFD, you may over-clock and damage the part.
*/
reg_ptr->CLK.OCLR = 0xf0;
reg_ptr->CLK.CCHR = 5;
reg_ptr->CLK.SYNCR = 0 |
MCF5225_CLOCK_SYNCR_RFD(0) |
MCF5225_CLOCK_SYNCR_MFD(3) |
MCF5225_CLOCK_SYNCR_PLLMODE|
MCF5225_CLOCK_SYNCR_PLLEN;
/* wait for PLL locks before switching clock source */
while (!(reg_ptr->CLK.SYNSR & MCF5225_CLOCK_SYNSR_LOCK)) {}
/* now changing clock source is possible */
reg_ptr->CLK.CCLR = 0;
reg_ptr->CLK.SYNCR |= MCF5225_CLOCK_SYNCR_CLKSRC;
/* wait for PLL lock again */
while (!(reg_ptr->CLK.SYNSR & MCF5225_CLOCK_SYNSR_LOCK)) {}
/* Enable on-chip modules to access internal SRAM */
reg_ptr->SCM.RAMBAR = MCF5225_SCM_RAMBAR_BA((uint_32)__INTERNAL_SRAM_BASE) | MCF5225_SCM_RAMBAR_BDE;
}
这个相信大家容易看懂 那么我们就可以随便的设置 系统时钟了 只要在80M以内 能够正常工作就可以了
下面 我说下 如何看波特率
很简单 用示波器 看看传送一位数据 需要多长时间 ,,,,呵呵 很简单吧
9600 需要多长时间 你知道吧。。。。。。
115200 需要多长时间你知道吧 。。。。。
如果说 时间不变。。。。。那说明 和系统时间的设置 是没关系的 ,,,,/////////但是实际上是有关系的 只不过方便了用户设置吧 (可能想错了)
嗯 然后就没有然后了
海燕哪 你可长点心吧!!!! 你都给我整蒙圈了!!!!!
|
|