|
Здравствуйте Гость ( Вход | Регистрация ) Доступ из РоссииДля сохранения достпа из России к сайту и форуму GBX
|
||||||||||||||||||||
| quasist |
Суббота, 12 апреля 2008, 11:38
Отправлено
#1
|
|
Sing along at the Opera ![]() Группа: Профи Сообщений: 3 391 Регистрация: 06 янв. 2006 Пользователь №: 14 791 ![]() ![]() |
В palibe есть для этого готовая функция, но что если не нравится палиб...
Речи идёт об стандартной библиотеке libnds Все примеры работы с микрофоном относятся к очень старым временам и их испытывать на своей дс у меня стилус не повернётся Как написано в мануале только второй проц (arm7) имеет доступ к некоторым системам ДС, то есть ко звуку, точскрину и т.д. Функции микрофона доступны только для arm7, поэтому шаблон проекта должен использовать "combined template" фаилы, то есть раздельно две программы для arm9 и arm7. Открываем программу для arm7. Всё едро для второго проца уже написано до нас. Он получает данные для звукового воспроизведения, а шлёт обратно данные точскрина. сперво-наперво следует включить микрофон CODE MIC_On(); У меня он стоит перед строчкой CODE initClockIRQ(); и всё работает Всё! Микрофон включён. Осталось прочитать его данные и отослать к arm9. Чтобы много чего нового неписать я придумал атцкий(!) способ - послать данные микрофона вместо данных точкснина. Вернее вместо силы нажатия по одной из осей. Как часто вы используете в своих програмах силу нажания на точскрин? Находим фрагмент кода CODE IPC->touchX = x; IPC->touchY = y; IPC->touchXpx = xpx; IPC->touchYpx = ypx; IPC->touchZ1 = z1; IPC->touchZ2 = z2; IPC->buttons = but; и исправляем на CODE IPC->touchX = x; IPC->touchY = y; IPC->touchXpx = MIC_ReadData(); IPC->touchYpx = ypx; IPC->touchZ1 = z1; IPC->touchZ2 = z2; IPC->buttons = but; Если вы не меняли код шаблона для combined(из поставки libnds), то сразу можно будет увидеть результат. Так как в коде arm9 уже поставлен вывод координат приложения стилуса на экран и сила нажатия. На силу нажания по X и приходят данные микрофона (в шеснадцатеричной форме). Текущее состояние микрофона определяется 1 байтом, определяющим отклонение мембраны. 129 - тишина, а если начнёт разбегаться вверх-вниз - значит с микрофоном общаются. Так жалко, что мало хоумбрю использует микрофон. Надеюсь кому-либо этот простой способ пригодится -------------------- 12 удачных сделок в барахолке gbx.ru
|
![]() ![]() ![]() |
Ответов
| theli |
Суббота, 19 апреля 2008, 01:15
Отправлено
#2
|
|
вышибала ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 729 Регистрация: 09 окт. 2006 Из: Киев Пользователь №: 18 402 ![]() ![]() |
не совсем так, просто хотят сделать стандартное ядро под арм7 которое устроит большинство.
писать и собирать ручками свой код под арм7 запрещать в принципе никто не будет. и да, в следующем релизе libnds не будет предустановленной секции разделяемой памяти для IPC, почти всё будет делаться через fifo. но опять таки , в отличии от нинтендо, никто не собирается никого принуждать отказываться от соственного кода на амр7 если это будет действительно необходимо. -------------------- |
Posts in this topic
quasist Простой способ получить данные с микрофона Суббота, 12 апреля 2008, 11:38
Kir В грядущем DevKitPro r22 , в состав которого будет... Пятница, 18 апреля 2008, 15:00
Cluster
ИМХО, сразу так стоило сделать. Суббота, 19 апреля 2008, 16:03
PlagueSpark
не простаивать же одной трети вычислительной спос... Воскресенье, 20 апреля 2008, 00:09![]() ![]() |
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
| Упрощённая версия | Сейчас: Чт., 29 окт. 2026, 02:47 |

Суббота, 12 апреля 2008, 11:38















