数据手册没看完!所以不知道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);
}
}






回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |