Advertisement
teplofizik

test2.c (dma)

Aug 7th, 2013
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1. // ***********************************************************
  2. //  test2.c
  3. //
  4. // ***********************************************************
  5.  
  6. #include "test2.h"
  7. #include "../drivers.h"
  8. #include "../bsp.h"
  9.  
  10. int16_t sine[] = {
  11. 0, 0, 3114, 3114, 6201, 6201, 9231, 9231, 12178, 12178, 15014, 15014,
  12. 17715, 17715, 20255, 20255, 22611, 22611, 24763, 24763, 26691, 26691, 28377, 28377,
  13. 29805, 29805, 30964, 30964, 31843, 31843, 32433, 32433, 32729, 32729, 32729, 32729,
  14. 32433, 32433, 31843, 31843, 30964, 30964, 29805, 29805, 28377, 28377, 26691, 26691,
  15. 24763, 24763, 22611, 22611, 20255, 20255, 17715, 17715, 15014, 15014, 12178, 12178,
  16. 9231, 9231, 6201, 6201, 3114, 3114, 0, 0, -3114, -3114, -6201, -6201,
  17. -9231, -9231, -12178, -12178, -15014, -15014, -17715, -17715, -20255, -20255, -22611, -22611,
  18. -24763, -24763, -26691, -26691, -28377, -28377, -29805, -29805, -30964, -30964, -31843, -31843,
  19. -32433, -32433, -32729, -32729, -32729, -32729, -32433, -32433, -31843, -31843, -30964, -30964,
  20. -29805, -29805, -28377, -28377, -26691, -26691, -24763, -24763, -22611, -22611, -20255, -20255,
  21. -17715, -17715, -15014, -15014, -12178, -12178, -9231, -9231, -6201, -6201, -3114, -3114,
  22. };
  23.  
  24. // А здесь выдам то, что хотим воспроизвести
  25. static bool test2_Callback(int16_t ** Buffer, uint16_t * Length)
  26. {
  27.     *Buffer = (int16_t *)&sine[0];
  28.     *Length = sizeof(sine) / sizeof(sine[0]);
  29.    
  30.     // Буфер задан
  31.     return true;
  32. }
  33.  
  34. // Инициализация процесса
  35. void test2_Init(void)
  36. {
  37.     // Включение внешнего ЦАП и его драйвера
  38.     cs43l22_AudioOn();
  39.    
  40.     // Звук: 43%
  41.     cs43l22_SetVolume(0x70);
  42.    
  43.     // Начать воспроизведение
  44.     i2s_Play(&test2_Callback);
  45. }
  46.  
  47. // Отправка очередного семпла (по необходимости)
  48. void test2_Main(void)
  49. {
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement