📄 demo.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: systick.c
** Last modified Date: 2006-11-15
** Last Version: v1.0
** Description: Stellaris????? ??????????
**
**------------------------------------------------------------------------------------------------------
** Created By: Zhou Lishan
** Created date: 2006-11-15
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by: Kang qinhua
** Modified date: 2008.01.18
** Version: v1.1
** Description:
**
********************************************************************************************************/
#include "hw_memmap.h"
#include "hw_types.h"
#include "hw_ints.h"
#include "gpio.h"
#include "sysctl.h"
#include "interrupt.h"
#define dat GPIO_PIN_7
#define clk GPIO_PIN_6
#define load GPIO_PIN_5
void delay(int d) // 延时函数
{
for(;d;d--);
}
void init_dds(void)
{
GPIOPinWrite(GPIO_PORTD_BASE, clk, 0);
GPIOPinWrite(GPIO_PORTD_BASE, load, 0);
delay(100);
GPIOPinWrite(GPIO_PORTD_BASE, clk, 1<<6);
delay(100);
GPIOPinWrite(GPIO_PORTD_BASE, clk, 0);
delay(100);
GPIOPinWrite(GPIO_PORTD_BASE, load, 1<<5);
delay(100);
delay(100);
GPIOPinWrite(GPIO_PORTD_BASE, load, 0);
}
void write_dds(unsigned long dds)
{
unsigned char i;
GPIOPinWrite(GPIO_PORTD_BASE, load, 0);
GPIOPinWrite(GPIO_PORTD_BASE, clk, 0);
for(i=0;i<20;i++)
{
GPIOPinWrite(GPIO_PORTD_BASE, clk, 0);
delay(100);
if(dds&0x00000001)
GPIOPinWrite(GPIO_PORTD_BASE,dat, 1<<7);
else
GPIOPinWrite(GPIO_PORTD_BASE, dat, 0);
delay(100);
GPIOPinWrite(GPIO_PORTD_BASE, clk, 1<<6);
dds=dds>>1;
}
GPIOPinWrite(GPIO_PORTD_BASE, load, 1<<5);
GPIOPinWrite(GPIO_PORTD_BASE, clk, 0);
delay(100);
GPIOPinWrite(GPIO_PORTD_BASE, load, 0);
}
/*void write_freq(unsigned long freq)
{
unsigned long dds;
dds=42.94967296*freq;
write_dds(dds);
}*/
int main(void)
{
//unsigned long freq;
unsigned long dds;
SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIODirModeSet(GPIO_PORTD_BASE,dat|clk|load,GPIO_DIR_MODE_OUT);
init_dds();
//write_freq(freq);
dds=0x00000;
write_dds(dds);
dds=0x7ede0;
write_dds(dds);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -