DAC+DMA产生正弦波问题

2019-08-14 16:38发布

#define PI 3.1415962

//²úÉúÕýÏÒ²¨º¯ÐòÁУ¬¸ù¾ÝDAC_SIN_SIZEÉú³É¡£
void dac_creat_sin_buf(void)
{
    u8 i;
    float inc=2*PI/DAC_SIN_SIZE;        
    float outdata=0;
    for(i=0;i<DAC_SIN_SIZE;i++)
    {
        outdata=2047*(1+sin(inc*i));   
      
        DAC_SIN_BUF=outdata;
    }  
} 问题一:sin函数不是对度数进行运算吗,比如sin30,30表示的是度数,那PI为什么是3.1415926,而不是180,这样把360度均分成256份
问题二:outdata为什么要乘以2047,还有sin(Inc*i)了为什么要加1??

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Passenger123
1楼-- · 2019-08-14 19:56
 精彩回答 2  元偷偷看……
杨哥
2楼-- · 2019-08-14 21:55
问题二:加一是为了让outdate为正数,负数电压出不来
huyounong
3楼-- · 2019-08-14 23:48
片子上的DA不能出负的,负的 要用运放

一周热门 更多>