摘要:
冒泡排序法:private static void BulleSort(){ int i, j; for (i = 1; i = i; j--) { if (data[j] 0 && temp k) { j--; } int temp = k; k = array[j]; array[j] = temp; ... 阅读全文
摘要:
本文主要介绍LIS3DH的运动检测功能(Motion detection),一旦两次加速度值的差值超过了设置阈值,相应的引脚就会产生中断。LIS3DH接口非常简单,四线SPI接口。LIS3DH上电需要等待大约5ms才能对其寄存器进行操作,否则可能达不到想要的结果。寄存器配置如下:spi_lis3dh_writebyte(0x3f,0x20);//CTRL_REG1 设置采样频率为25Hz,低功耗模式,开启x,y,z轴检测spi_lis3dh_writebyte(0x09,0x21);//CTRL_REG2 正常模式,数据从内部滤波器到输出寄存器,高通滤波器使能到中断1spi_lis3dh_wr 阅读全文
摘要:
DMA(Direct Memory Access,直接内存访问)是一种不经过CPU而直接从内存存取数据的数据交换模式。在需要进行大量数据交换的场合,用好DMA,可以大大提高系统的性能,因为DMA操作几乎不占用CPU资源。由于是用DMA的方式,因此在播放的过程中不占用系统资源,我们可以很容易的实现声音的各种操作而丝毫不影响播放的效果,如音量的提高和降低、静音、暂停等。定义变量:static int remainder;static char mute;static char volume;中断函数,当DMA传送完成时打印Success。static void __irq PlayDMA2Done 阅读全文
摘要:
s3c2440一共有5个引脚用于IIS:IISDO、IISDI、IISSCLK、IISLRCK和CDCLK。前两个引脚用于数字音频信号的输出和输入,另外三个引脚都与音频信号的频率有关,可见要用好IIS,就要把信号频率设置正确。IISSCLK为串行时钟,每一个时钟信号传送一位音频信号,因此IISSCLK的频率=声道数×采样频率×采样位数,如采样频率fs为44.1kHz,采样的位数为16位,声道数2个(左、右两个声道),则IISSCLK的频率=32fs=1411.2kHz。IISLRCK为帧时钟,用于切换左、右声道,如IISLRCK为高电平表示正在传输的是左声道数据,为低电平表 阅读全文