gpfa.c
来自「C和汇编语言的混合编程实验基于S3C2410的」· C语言 代码 · 共 48 行
C
48 行
/* 这是一个利用GPIO做跑马灯的程序
/* GPIO1到GPIO4分别对应2410的GPF4到GPF7 */
#include "2410lib.h"
#include "2410addr.h"
#include "timer.h"
//定义寄存器地址
#define GPFCON (*(volatile unsigned *)0x56000050) //Port F control
#define GPFDAT (*(volatile unsigned *)0x56000054) //Port F data
#define GPFUP (*(volatile unsigned *)0x56000058) //Pull-up control F
int Main()
{
int x=0;
//时钟、端口、串口初始化
SetClockDivider(1, 1);
SetSysFclk(DFT_FCLK_VAL);
Port_Init();
Uart_Select(0);
Uart_Init(0, UART_BAUD);
GPFCON=(GPFCON|0xFF00)&0xFFFF55FF;//GPF4--GPF7设置为output
GPFUP|=0xFF00; //disable GPF pull up
while(1)
{
GPFDAT=(GPFDAT&0xFFFFFF0F)|0xE0;
Delay(200);
__asm //嵌入汇编指令
{
add x,x,#1
nop
nop
}
GPFDAT=(GPFDAT&0xFFFFFF0F)|0xD0;
Delay(200);
GPFDAT=(GPFDAT&0xFFFFFF0F)|0xB0;
Delay(200);
GPFDAT=(GPFDAT&0xFFFFFF0F)|0x70;
Delay(200);
Uart_Printf("the value of x is: %d\n",x);//串口输出
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?