MCP3550 нет преобразования |
Здравствуйте, гость ( Вход | Регистрация )
MCP3550 нет преобразования |
25.12.2009, 12:50
Сообщение
#1
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Запостил на элхе тему
Цитата Всем привет! Беда: - два устройства. Прикрутил сабж для измерения эдс термопары. - после включения питания жду 1 секунду, опускаю /CS=0 и оставляю ацп в continuous mode - жду когда упадет сигнал готовности SDO/RDY. SCK в это время =1. SDO/RDY НЕ ПАДАЕТ. Т.е. преобразования нету - по логике вещей не работает внутренний осциллятор? Цифровые ноги заведены в контроллер через 100 Ом (в т.ч. /CS) Перенапряжения и прочие гадости с питанием отсутствуют. Что бы это могло быть? Блин, мозг сломал, а толку нету. По управлению - и так и эдак. И single conversion пробовал, и continuous. Нихрена не получается. Английцы говорят, мол кондюка по питанию на ноги надоть. Мало того, что он есть, прямо на ноги припаял. Нихрена. Заказал еще пару этих ацп - вдруг проблема не во мне. Но будут в понедельник. И главное ж - шо там сложного?! Наливай клок да пей из SDO. Вот зараза! памагите... Может тут тонить юзал их? |
|
|
25.12.2009, 16:46
Сообщение
#2
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Аднак, вутэто выдерживается? Акакже! 10мкс Я еще и период клока до 2мкс удлинял. И по включению жду 1сек. Цитата SCK должно быть, походу, нуль. Я и так и сяк пробовал. Цитата Долбаный мелкочип! Вопрос пока в воздухе: то ли я, то ли они ЗЫ я еще по их аппликухе подергал: [attachment=552:33.png] |
|
|
25.12.2009, 17:15
Сообщение
#3
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Павел, правильно ли я понимаю. Не. Щаз как в аппликухе. Пусть хоть как-то задышит. Потом уж до continuous дойду Код Питание
ждем 1 секунду до установления всего чего можно МЕТКА: опустили CS выждали 10 мкс - проверили /ready if(/ready нанэ) // а оно таки нанэ, собако { подняли CS ждем 10 [b]милли[/b]сек goto МЕТКА //до полного посинения заказчега } |
|
|
21.3.2010, 20:54
Сообщение
#4
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Нормально все. Глюк в программе оказался неотсмотренный. Вот так работает
Код Powered: if(get_time(powerUp) < TC_complete_test) return &&Powered; powerUp = get_time(0); MCP3550_clk_set(1); MCP3550_cs_set(0); _delay_us(us_Timing*5); if(MCP3550_rd()) { MCP3550_cs_set(1); return &&Powered; } // read from mcp 3550 uint32_t value=0; uint32_t msk= 1ULL << 23; for(uint8_t bits=0; bits < 24; bits++) { MCP3550_clk_set(0); _delay_us(us_Timing); MCP3550_clk_set(1); _delay_us(us_Timing); if(MCP3550_rd()) value |= msk; msk >>=1; } MCP3550_cs_set(1);//close Пояснений, я думаю, особо не надо, кроме того, что используется GCC и конструкции типа return &&Label использую где надо и не надо для организации сопрограмм. |
|
|
21.3.2010, 23:40
Сообщение
#5
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Походу да. Спасибо.
|
|
|
Текстовая версия | Сейчас: 29.3.2024, 7:36 |