LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Уже интересно. Не знал, что есть такая функциональность, но это может что-то объяснить. Добавил вот такой код.

// Setup port mapping
PMAPKEYID = 0x2D52;
PMAPCTL = PMAPRECFG;
P4MAP2 = PM_UCB1SCL;
P4MAP1 = PM_UCB1SDA;
PMAPKEYID = 0;	

Увы, но это не помогло. Проверил отладчиком - все значения ушли на свои места, так что регистры PxMAPy были доступны на запись (там же есть защита), всё нормально.

(mspdebug) md 0x1C0
    001c0: a5 96 03 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    001d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    001e0: 0d 0f 0e 10 0c 0b 00 00 00 00 00 00 00 00 00 00 |................|
    001f0: ff 3f ff 3f ff 3f ff 3f ff 3f ff 3f ff 3f ff 3f |.?.?.?.?.?.?.?.?|

К моему ланчпаду есть, кстати, такая картинка: http://processors.wiki.ti.com/images/c/cd/MSP-EXP430F5529LP_QSG_PinOut.png

Я там видно, что для I2C есть подписи PM_UCB1SCL и PM_UCB1SDA. Это названия констант для ремапа портов. Вероятно, это намёк на то, что для работы I2C порты таки надо ремапить. Но похоже я сделал это не правильно или не до конца, потому что не помогло.

Исходная версия KivApple, :

Уже интересно. Не знал, что есть такая функциональность, но это может что-то объяснить. Добавил вот такой код.

// Setup port mapping
PMAPKEYID = 0x2D52;
PMAPCTL = PMAPRECFG;
P4MAP2 = PM_UCB1SCL;
P4MAP1 = PM_UCB1SDA;
PMAPKEYID = 0;	

Увы, но это не помогло. Проверил отладчиком - все значения ушли на свои места, так что регистры PxMAPy были доступны на запись (там же есть защита), всё нормально.

(mspdebug) md 0x1C0
    001c0: a5 96 03 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    001d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    001e0: 0d 0f 0e 10 0c 0b 00 00 00 00 00 00 00 00 00 00 |................|
    001f0: ff 3f ff 3f ff 3f ff 3f ff 3f ff 3f ff 3f ff 3f |.?.?.?.?.?.?.?.?|