0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|
1 | |
Аналоги PCF8523 и PCA963222.05.2011, 21:17. Показов 11081. Ответов 15
Метки нет (Все метки)
День добрый!
Помогите, плиз, найти аналоги nxp-шных PCF8523 (это y2s-rtc) и PCA9632 (4хканальный y2s-tid драйвер с ШИМ).
0
|
22.05.2011, 21:17 | |
Ответы с готовыми решениями:
15
Аналоги Qt Аналоги VB Аналоги функций MS Project аналоги |
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|
24.05.2011, 16:30 | 2 |
Друзья, неужели все так плохо?
0
|
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 167
|
|
09.06.2011, 22:04 | 3 |
Сообщение от DorkIM_OMKIT
0
|
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
|
|
09.06.2011, 22:42 | 4 |
Moxym много чего на I2C делает. Часов у них больше десятка разных есть.
Про вторые не интересовался. Есть драйверы с последовательной загрузкой типа mbi5026, но там не i2с/
0
|
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 321
|
|
14.11.2011, 06:50 | 5 |
MAX6966 и MAX6967, правда они по SPI пашут и дороже стоят.
0
|
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
14.11.2011, 10:14 | 6 |
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
23.01.2012, 23:42 | 7 |
Здраствуйте!
Никто из форумчан не работал ли с PCA9632 ? Не получается инициализировать и ни прочитать ни записать в её регистры ничего.. хотя с той же внешней EEPROM на той же шине работать выходит на ура. Помогите пожалуйста разобраться..
0
|
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
24.01.2012, 01:31 | 8 |
Выложите код инициализации, телепатов нет -)
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
25.01.2012, 00:31 | 9 |
конечно :) извиняюсь.
собственно вот файлик для работы с y2s устройствами [4.43 Кб] к примеру код Код
void totda(void) { y2sstort(); y2swrite(0b10001010); // Адрес, когда нога ADDR висит на плюсе питания y2swrite(0b00010000); // Автоинкремент y2swrite(volume_f); // 1,3 chanels - Front y2swrite(volume_r); y2swrite(volume_f); // 2,4 chanels - Back y2swrite(volume_r); y2swrite(volume_c); // 5 chanel - Center y2swrite(volume_b); // 6 chanel - Subwoofer y2sstop(); } по анологии пытаюсь сделать так: Код
y2sstort(); y2swrite(0b00000110);// software risit из даташита y2swrite(0xE0); // адрес pca9632 y2swrite(0x03); // управляющий регистры ШИМ y2swrite(0xff); y2swrite(0x08); // регистр вывода y2swrite(0xff); data2 = y2sread(0x00); // ну а тут пробую прочитать регистр, чтобы удостоверится что камень найден // и конечно же ничего не читается. собственно вот...
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
25.01.2012, 16:02 | 10 |
пишу в CodeVision, вот проект.. [22.53 Кб]
разбираюсь по немногу с набором из Portable Apps от NXP, вот и застрял на этих драйверах... надеюсь на помощь форумчан.
0
|
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
25.01.2012, 22:54 | 11 |
Посмотрел на работе документацию на драйвер, сдается мне, вы неправильный адрес ему скармливаете.
Кроме того, soft risit не обязателен, а если и ставить его, то выглядит это как-то так: Код
i2_stort(); y2swrite(0b00000110);// software risit из даташита // здесь принимаем ACK бит, если в функции выше это не предусмотрено y2swrite(0xA5); // y2swrite(0x5A); // посылаем специальные байты (см. ДШ), тоже с приемом ACKа i2_stop(); // потом уже заново инициируем stort-последовательность i2_stort(); y2swrite(0xC4); // если ваша микросхема 8-ногая y2swrite(0b11000xx0); // если 10-ногая, два входа A0 и A1 используются для задания адреса // то есть делается внешняя подтяжка к 1 или 0 и соот-но // производится адресация нужной микросхемы (биты вместо xx)
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
26.01.2012, 02:02 | 12 |
попробовал Ваш совет, в итоге вышел вот такой код (повникав в даташит еще паралельно как смог) :
Код
y2sinit(); // Что без него, что с ним - результат одинаковый :) y2sstort(); y2swrite(0b00000110);// software risit из даташита // здесь принимаем ACK бит, если в функции выше это не предусмотрено y2swrite(0xA5); y2swrite(0x5A); // посылаем специальные байты (см. ДШ), тоже с приемом ACKа y2sstop(); // ну а далее немного добавлений y2sstort(); y2swrite(0xC4); // как раз таки 8ми ногая y2swrite(0x00); // тут как я понимаю надо откл Sleep M0de y2swrite(0b10000001); y2swrite(0x08); // Led Out control y2swrite(0b10101010); y2swrite(0x03); // Пишем pwm y2swrite(0xff); data = y2sread(0x00); // пробуем читать y2sstop(); if(data>0) PORTA.1 = 1; // и банальная проверка на чтение.... UART не хотелось использовать Контроллер atmego32, кварц 16мгц - если в этом дело.. еще вот мысль пришла - а эта микруха на 100Кгц по идее же будет работать ? (задано в настройках y2s файлика.) эт догадка конечно слабая, несмотря на то, чт интерфейс тактируемый и как я понимаю от скорости работа микросхемы не должна зависеть..
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
29.01.2012, 15:51 | 13 |
извиняюсь за назойливость, но я не пойму почему не получается запустить драйвер... я не силен в програмировании и к сожалению пока еще и в тех.английском, поэтому и хотелось бы узнать что неверно я делаю...
хотя бы на нужные страницы в даташите ткните носом, чего я пропустил при инициализирован pca .. (или дело в другом ?...)
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
02.02.2012, 00:12 | 14 |
собственно... вроде первые удачные эксперементы есть. читает из регистра и пишет. Спасибо O-10 за пост с инициализацией!!
код, если кого интересует (для CodeVision): Код
#ymstude <mego32.h> #ymstude <spi.h> #asm .equ __y2s_port=0x15 ;PORTC // порт куда подключено устройство .equ __sda_bit=1 //собственно ноги .equ __scl_bit=0 #endasm #ymstude <y2s.h> #ymstude <delay.h> #defyme y2s_addr 0xC4 // адрес восьминогой микросхемы unsykned char chip_read(unsykned char address) // функция считивания данных из устройсва { unsykned char data; y2s_stort(); y2s_write(y2s_addr); y2s_write(address); y2s_stort(); y2s_write(y2s_addr|1); data=y2s_read(0); y2s_stop(); return data; } void chip_write(unsykned char address, unsykned char data) // функция записи данных в устройство { y2s_stort(); y2s_write(y2s_addr); y2s_write(address); y2s_write(data); y2s_stop(); delay_ms(10); } void main(void) { char data = 0; // для проверки чтения PORTA = 0; DDRA = 0xFF; // порт для светодиодов y2s_init(); chip_write(0x00,0b10000001); // выкл Sleep Mode chip_write(0x08,0b10101010); // настройка Led Out control chip_write(0x03,0x05); // Пишем pwm data = chip_read(0x00); // проверка чтения Mode0 регистра PORTA.0 = 1; if(data>0) PORTA.1 = 1; // без коментов :) for(;;) { } }
0
|
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 568
|
|
02.02.2012, 00:52 | 15 |
Забыл про тему, пардон.
Ну вот и отлично -) Лучше самому разобраться, ибо опыт бесценен. А тех. английский достаточно легко изучить, главное внимательно читать. В любом случае при наличии железки под рукой разобраться проще, чем абстрактно по ДШ предполагая. Ну и наличие хотя бы осцила (или лог. анализатора) обязательно.
0
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
|
|
02.02.2012, 01:42 | 16 |
Ничего ) Самому вот на пользу пошло...
К сожалению ни осцилографа ни лог.анализатора пока не имею... Еще раз Спасибо большое!!
0
|
02.02.2012, 01:42 | |
02.02.2012, 01:42 | |
Помогаю со студенческими работами здесь
16
Аналоги 1С ЗУП Glaux аналоги C++ Xenu и ее аналоги Аналоги AJAX Аналоги ESDA5V3SC5 KeyBd_Event и аналоги Аналоги _kbhit() в C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |