?? main.c
字號:
#include "cpu_reg.h"
int ms,f;
unsigned int *ExRamStart = (unsigned int *)0x4000;
void main()
{
int i;
asm(" STM #0000h,CLKMD ");
while(*CLKMD & 0x01 );
asm(" STM #40C7h,CLKMD "); //設置CPU運行頻率=100M
/* 40C7h:5*clkin =100M
30c7h:4*clkin =80M
20c7h:3*clkin =60M
10C7h:2*clkin =40M
*/
asm(" stm #4240h, SWWSR ");
//2 wait except for on-chip program 1
asm(" stm #00E0h, PMST "); //MP/MC = 0, IPTR = 001,ovly=0
asm(" stm #0802h, BSCR ");
asm(" STM #0h,IMR ");
asm(" STM #0010h,TCR "); //關定時器
asm(" STM #0186ah,PRD ");//1ms
asm(" STM #0C2fh,TCR "); //TCR=最后四位
asm(" STM #0008h,IFR ");
asm(" ORM #0008h,*(IMR) ");/*開時間中斷*/
asm(" RSBX INTM "); /*開中斷*/
for(i = 0; i < 0xC000; i++)
{
*(ExRamStart + i) = 0x5555;
if(*(ExRamStart + i) != 0x5555)
{
while(1);
}
}
i = 0;
for(i = 0; i < 0xC000; i++)
{
*(ExRamStart + i) = 0xAAAA;
if(*(ExRamStart + i) != 0xAAAA)
{
while(1);
}
}
for (i=0;i<0xC000;i++) *(ExRamStart+i)=i;
f=2;
ms=0;
while(1)
{
while(ms<500/f); //LED_flash
ms=0;
asm(" RSBX XF ");
while(ms<500/f);
ms=0;
asm(" SSBX XF ");
}
}
interrupt void timer0()
{
ms++;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -