[经验] 电设之F5529(1)UCS

sunduoze   2015-8-24 22:42 楼主
电设之F5529(1)UCS
电设之F5529(2)OLED(外设)
电设之F5529(3)SPI
电设之F5529(4)定时器
电设之F5529——我的核心系统板

电赛比完了,收获不少,分享一下这段时间写的或参考的代码,
今天说一下UCS,个人能力很有限,有什么不足或者建议,希望
能直接提出来,学习学习
工程上,先包含这些代码
  1. /************************************工程中请包含此部分代码******************************/
  2. /*
  3. * Stdint.h 该头文件 重定义了 unsigned char 、unsigned int 等等。。。
  4. */
  5. #include <stdint.h>
  6. /*
  7. * Macos : 系统延时,直接依据时钟定义
  8. */
  9. //#define CPU_F (1200000)        //Normal
  10. #define CPU_F ((double)25000000) //25Mhz

  11. #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0) )//x MHz----us
  12. #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
  13. #define delay_s(x)        __delay_cycles((long)(CPU_F*(double)x/1.0))
  14. /*******************End of*****工程中请包含此部分代码******************************/


函数:F5529时钟配置函数时钟配置函数,配置时钟的同时
          要考虑CPU核心电压,参考PMM.C  PMM.H 官方给的头
          还有一个更重要的头文件 MACROS.H
          这个头文件可以解决    通过其他宏形成一个完整的有效c状态
          目前只了解这个头是必学的,并未深入了解

说明;该函数改自官方函数库,新增了自己之前
          编写的外部时钟和内部DCO的配置,那几个
          时钟输出接口一定要慎用,中间编写程序时
          被这玩意搞得晕死,刚好调时序,和时钟冲突

这是我用的缺省配置,工作在最高时钟频率25Mhz  
SetVCore(3);                                                         //设置核心电压为最大
XT_Init();                                                             //P1.0 P2.2 P7.7 已经屏蔽
LFXT_Start(XT1DRIVE_0);                                   //利用LFXT1(32.768kHZ)作为时钟参考
Init_FLL_Settle(25000, 762);                               //利用锁频环,将系统时钟设为25MHZ
SFRIFG1 = 0;                                                      //清除中断标志
SFRIE1 |= OFIE;                                                //使能晶振失效中断

回复评论 (4)

自己先顶一个!
点赞  2015-8-24 22:42
我帮你顶一个!
分享铸就美好未来。。。
点赞  2015-8-25 08:55
谢谢楼主,很好的经验分享。
加油!在电子行业默默贡献自己的力量!:)
点赞  2015-8-25 09:43
。。。。。。
点赞  2016-7-8 12:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复