数据手册没看完!所以不知道OptionByte,呵呵!才搞到这
/**********************
MCU初始化
**********************/
void MCU_init(void)
{
//~~~~~~~~~~时钟
//时钟操作模式选择积存器
OSCCTL_bit.no7=0;OSCCTL_bit.no6=1; //0、2-IO端口模式;1-晶震模式;3-外部时钟输入模式
PCC_bit.no6=0;OSCCTL_bit.no5=0;OSCCTL_bit.no4=1; //XTSTART位EXCLKS\OSCSELS副时钟设置 0\2-IO模式 1\4-晶体震荡器 3-外部时钟
OSCCTL_bit.no0=1; //AMPH位 1-10M 0;10-20M-1
//处理器时钟控制寄存器
//PCC_bit.no6= //XTSTART位
//PCC_bit.no5=0; //CLS位 0-主时钟系统;1-副时钟系统(只读)
PCC_bit.no4=0; //CSS 0-主时钟系统;1-副时钟系统
PCC_bit.no2=0;PCC_bit.no1=0;PCC_bit.no0=0; //(0-F主和F副/2)(1-F主/2)(2-F主/4)(3-F主/8)(4-F主/16)
//内部震荡模式积存器
//RCM_bit.no7=; //RSTS 0-等待内部高速震荡器稳定;1-内部高速震荡器稳定工作(只读)
//RCM_bit.no1=; //LSRSTOP 0-内部低速震荡器工作;1-内部低速震荡器停止
//RCM_bit.no0=; //RSTOP 0-内部高速震荡器工作;1-内部高速震荡器停止
//主OSC控制积存器
//MOC_bit.no7=; //MSTOP 0-允许来自EXCLK的时钟;1-禁止来自EXCLK的时钟
}


改成这样就没有之前的怪现象了
#include <io78f0513_44.h>
//#include <io78k0.h>
#define uchar unsigned char
#define uint unsigned int
/*************************************************
延时函数
需要延时长短的参数g,
*************************************************/
void delay(uint shijian)//延时函数
{
uchar xx,yy;
for(;shijian>0;shijian--)
{
for(xx=0;xx<250;xx++)
{
for(yy=0;yy<250;yy++);
}
}
}
/**********************
MCU初始化
**********************/
void MCU_init(void)
{
//~~~~~~~~~~时钟
//时钟操作模式选择积存器
OSCCTL_bit.no7=0;OSCCTL_bit.no6=1; //0、2-IO端口模式;1-晶震模式;3-外部时钟输入模式
PCC_bit.no6=0;OSCCTL_bit.no5=0;OSCCTL_bit.no4=1; //XTSTART位EXCLKS\OSCSELS副时钟设置 0\2-IO模式 1\4-晶体震荡器 3-外部时钟
OSCCTL_bit.no0=1; //AMPH位 1-10M 0;10-20M-1
//处理器时钟控制寄存器
//PCC_bit.no6= //XTSTART位
//PCC_bit.no5=0; //CLS位 0-主时钟系统;1-副时钟系统(只读)
PCC_bit.no4=0; //CSS 0-主时钟系统;1-副时钟系统
PCC_bit.no2=0;PCC_bit.no1=0;PCC_bit.no0=0; //(0-F主和F副/2)(1-F主/2)(2-F主/4)(3-F主/8)(4-F主/16)
//内部震荡模式积存器
//RCM_bit.no7=; //RSTS 0-等待内部高速震荡器稳定;1-内部高速震荡器稳定工作(只读)
//RCM_bit.no1=; //LSRSTOP 0-内部低速震荡器工作;1-内部低速震荡器停止
//RCM_bit.no0=; //RSTOP 0-内部高速震荡器工作;1-内部高速震荡器停止
//主OSC控制积存器
//MOC_bit.no7=; //MSTOP 0-允许来自EXCLK的时钟;1-禁止来自EXCLK的时钟
}
/**********************
//赋OptionByte值
**********************/
__root const unsigned char OptionByte[1] @0x0080 = {0x00}; //关看门狗
/************************************************
************************************************/
void main( void )
{
uchar rrt;
PM6=0X00; //P6设为输出口
while(1)
{
rrt=0x0e;P6=rrt;delay(150);
rrt=0x0d;P6=rrt;delay(150);
rrt=0x0b;P6=rrt;delay(150);
rrt=0x07;P6=rrt;delay(150);
}
}






回复
打赏帖 | |
---|---|
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
【换取手持示波器】RGB屏幕移植ARM-2D库被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】分享一下如何解决瑞萨RA2E1使用printf编译报错问题被打赏27分 | |
rtthread硬件加密-5hash加密分析被打赏10分 | |
【换取手持示波器】Mongoose 零代码创建网页仪表盘被打赏33分 | |
【分享开发笔记,赚取电动螺丝刀】基于.Net6.0 WPF简单做一个MQTT收发小工具被打赏24分 |