|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:40 am
|
Страница 1 от 1
|
[ 7 мнения ] |
|
| Автор |
Съобщение |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
 "Масивен" проблем
Здравейте,
Та значи, управлявам 7-сегментни дисплеи с ATTiny26, използвам avr-gcc. В хедър съм дефинирал:
В главния файл дефинирам масив inline:  |  |  |  | Код: unsigned char digits[16] = { CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_A, CHAR_B, CHAR_C, CHAR_D, CHAR_E, CHAR_F };
|  |  |  |  |
И сега, всеки път като се опитам да използвам стойност от масива получавам 0xFF. Това се вижда на дисплеите (т.е. нищо не се вижда, щото са актив-лоу). За да съм по сигурен пратих данните по RS232, пак получих 16 пъти 255.
Вероятно е нещо адски елементарно, ама доста време се главоблъскам вече. Със сигурност тук има хора, които са се сблъсквали с това. Добри хора, помогнете!
Последна промяна lz3060 на Сря Сеп 26, 2007 6:04 pm, променена общо 1 път
|
| Вто Сеп 25, 2007 3:26 am |
|
 |
|
setoy
Ранг: Почетен член
Регистриран на: Пет Фев 17, 2006 9:17 am Мнения: 765 Местоположение: Стара Загора
|
Пробвай:
#define CHAR_0 (0xff - (SEG_a+SEG_b+SEG_c+SEG_d+SEG_e+SEG_f ) )
....
|
| Вто Сеп 25, 2007 9:34 am |
|
 |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
Тц.
Пробвах всичко за което се сетих, включително
 |  |  |  | Код: unsigned char digits[16] = { 192, 249, 164, 176, 153, 146, 130, 248, 128, 144, 136, 131, 198, 161, 134, 142 };
|  |  |  |  |
Пак получавам само 0xff. Интересното е, че дори това:
Дава същия резултат. Някаква особеност на компилатора/библиотеката?!
|
| Вто Сеп 25, 2007 10:15 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
Не ти се инициализират променливите. Не съм работил с avr-gcc, но изглежда имаш проблем с .data секцията. Или не се линква правилно или не се копира в RAM-а при стартиране на програмата.
А digits[16] трябва ли да е променлива? Защо не я обявиш като const?
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Вто Сеп 25, 2007 12:37 pm |
|
 |
|
bobyk
Ранг: Ориентиран
Регистриран на: Пон Яну 09, 2006 11:32 am Мнения: 276 Местоположение: Kozloduy
|
и аз не съм запознат в детайли с avr-gcc но проблема е в него, пробвах го на cvavr и си е ОК
|
| Вто Сеп 25, 2007 1:02 pm |
|
 |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
Zdrav, прав си. Използвам темплейтен Makefile, рипнат някъде от нета. Много съм нов още в тези материи, изобщо не съм се загледал:
И по-точно, bin таргета:
-j .text --> копирай само .text секцията.
Много благодаря!
А за const -- такава ще е, но ми се щеше да има данни в нея първо 
|
| Вто Сеп 25, 2007 1:41 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
Това е грубо. Не бях се сетил за тази възможност. 
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Сря Сеп 26, 2007 5:51 am |
|
|
|
Страница 1 от 1
|
[ 7 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|