用键盘控制不同的信号产生,怎么用C语言编程,基于cortex-m3

2019-07-16 09:30发布

#include "LPC17xx.h"                                                      

volatile uint16_t GusSinTable[45] =                                     /* 正弦表                       */
{
    410, 467, 523, 576, 627, 673, 714, 749, 778,
    799, 813, 819, 817, 807, 789, 764, 732, 694,
    650, 602, 550, 495, 438, 381, 324, 270, 217,
    169, 125, 87 , 55 , 30 , 12 , 2  , 0  , 6  ,   
    20 , 41 , 70 , 105, 146, 193, 243, 297, 353
};

void myDelay (uint32_t ulTime)
{
    uint32_t i;

    i = 0;
    while (ulTime--) {
        for (i = 0; i < 5000; i++);
    }
}


int main (void)
{
    uint32_t i;
   
    SystemInit();                                                       /* 系统初始化,切勿删除         */
   
    LPC_PINCON->PINSEL1 |= (0x02 << 20);
    while (1) {
for (i = 0; i < 45; i++){   
        LPC_DAC->DACR = (GusSinTable[i] << 6);                          /* 输出正弦波                   */
        }
    }
}
想多弄几组参数,然后由不同的按键控制,每个按键对应产生不同的信号,哪怕是两个按键控制产生两组参数也好,自己编的一直运行不出正确的结果来,,,悲催了。大神们帮帮忙。。。。。谢谢了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
z00
1楼-- · 2019-07-16 10:39
在每次LPC_DAC->DACR 输出之后加一些延时时间

而且需要重复输出 要不然示波器没有办法测量

在输出波形后重新对i赋值 i=0
xiaoqiao2395
2楼-- · 2019-07-16 11:36
z00 发表于 2014-4-15 20:23
在每次LPC_DAC->DACR 输出之后加一些延时时间

而且需要重复输出 要不然示波器没有办法测量

加了一些参数,有负数的时候不行,不知道为啥。。。。负数参数在示波器上总显示为正数的值。
youzizhile
3楼-- · 2019-07-16 16:19
VREF指的是参考电压,要是没有负的参考电压是产生不了负值的

一周热门 更多>