⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo.c

📁 lm3s615 程序 简单实现控制字的编写
💻 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 + -