-
- Может данные портит функциия CRC16 ? И я бы посмотрел кто такой "0x60"... Юрий_СВ(158 знак., 21.10.2011 16:00)
- Закоментируй checksum = Crc16(tx_buf, i); и проверь, что получится. Функция в функции, работающая с локальными данными первой функции вполне может их запортить. - Brdm(26.10.2011 16:40, )
- чё хоть сказать то хотели ? Передается указатель на буфер и значение. Буфер создается в CSTACK. - MegaJohn(26.10.2011 16:45)
- Закоментируй checksum = Crc16(tx_buf, i); и проверь, что получится. Функция в функции, работающая с локальными данными первой функции вполне может их запортить. - Brdm(26.10.2011 16:40, )
- Показываю: fk0(635 знак., 19.10.2011 18:26 - 21.10.2011 12:55)
- а нафига в цикле i+=r ? - MegaJohn(20.10.2011 16:02)
- судя по всему в коде ошибка, должно быть: r=write(uart_fd, &tx_buf[i], n); - бомж(20.10.2011 18:54 - 18:58)
- И источник ошибки известен - Snaky(21.10.2011 01:42, ссылка)
- таки угадал. - fk0(20.10.2011 19:45)
- n=i - assert(i>SIZE)(21.10.2011 05:03, )
- судя по всему в коде ошибка, должно быть: r=write(uart_fd, &tx_buf[i], n); - бомж(20.10.2011 18:54 - 18:58)
- А что должно означать передача неинициализованного r как индекса? int r; r=write(uart_fd, &tx_buf[r], n); - Bublic(20.10.2011 12:28, )
- Говнокод как он есть. - =AlexD=(20.10.2011 12:51)
- Предложи свой вариант. Тут в основном только пиздеть горазды, чаще. - fk0(20.10.2011 13:06)
- Ну даже не знаю... можно попробовать проинициализировать переменную r, хотя... не факт конечно, что говнокод от этого заработает. - =AlexD=(20.10.2011 14:36)
- Ну да, звиздеть не мешки ворочать. ЧТД. *****бол. - fk0(20.10.2011 15:14)
- Ну ты дятел, тебя носом в ошибку тыкают, а ты долбишь своё. - =AlexD=(21.10.2011 11:26)
- Ну ткни уж. Сообщение сверху отредактировал. Где? - fk0(21.10.2011 12:54)
- Форматирование потерялось - Vladimir Ljaschko(21.10.2011 13:05)
- Там ещё select где write потерялся. - ISSET(23.10.2011 20:55, )
- Форматирование потерялось - Vladimir Ljaschko(21.10.2011 13:05)
- Ну ткни уж. Сообщение сверху отредактировал. Где? - fk0(21.10.2011 12:54)
- Ну ты дятел, тебя носом в ошибку тыкают, а ты долбишь своё. - =AlexD=(21.10.2011 11:26)
- Ну да, звиздеть не мешки ворочать. ЧТД. *****бол. - fk0(20.10.2011 15:14)
- Обычно устройство должно работать во время передачи, а не висеть мертво, поэтому должен быть глобальный буфер, а нет места - так может оторвать задницу и изучить соответствующее семейство контроллеров ;) - Vladimir Ljaschko(20.10.2011 13:12)
- Соответствующее -- это какое? Де-факто AVR хуже пиков из-за const char *. - fk0(20.10.2011 13:16)
- ARM CortexM3 сейчас рулит, все остальное реально уходит. - Vladimir Ljaschko(20.10.2011 13:23)
- Собственно, процесс, насколько я видел, уже пошёл? ;) - Vladimir Ljaschko(20.10.2011 13:25)
- ARMы я закончил использовать в 2008г и перешёл на PIC... - fk0(20.10.2011 13:27)
- Я понял, PIC - идеальный контроллер для профессиональных говнокодеров. - =AlexD=(20.10.2011 14:39)
- да вот как то так получилось, что на фирме остались только пики из всего зверинца, а нишу "взрослых" контроллеров заняли микрописи со всякими разными виндами. abivan(79 знак., 20.10.2011 15:18)
- Нет, за ARMы зарплату не платят. - fk0(20.10.2011 15:10)
- ARM7 или ARM Cortex? - Vladimir Ljaschko(20.10.2011 13:41)
- А для Cortex приведенный код будет работать? - Bublic(20.10.2011 13:37, )
- Я понял, PIC - идеальный контроллер для профессиональных говнокодеров. - =AlexD=(20.10.2011 14:39)
- ARMы я закончил использовать в 2008г и перешёл на PIC... - fk0(20.10.2011 13:27)
- Собственно, процесс, насколько я видел, уже пошёл? ;) - Vladimir Ljaschko(20.10.2011 13:25)
- ARM CortexM3 сейчас рулит, все остальное реально уходит. - Vladimir Ljaschko(20.10.2011 13:23)
- Соответствующее -- это какое? Де-факто AVR хуже пиков из-за const char *. - fk0(20.10.2011 13:16)
- Ну даже не знаю... можно попробовать проинициализировать переменную r, хотя... не факт конечно, что говнокод от этого заработает. - =AlexD=(20.10.2011 14:36)
- Предложи свой вариант. Тут в основном только пиздеть горазды, чаще. - fk0(20.10.2011 13:06)
- Говнокод как он есть. - =AlexD=(20.10.2011 12:51)
- Апупеть. Это так профессионалы на пиках пишут? Вместо пары команд добавления константы к указателю стека в начале и вычитания в конце будем вызывать динамическое выделение/освобождение? "И эти люди
запрещают нам ковыряться в носупопрекают Cepгeй Бopщ(13 знак., 20.10.2011 10:40)- Профессионалы в отличии от непрофессионалов знают, что область стека в пиках лимитирована одной банкой памяти в 256 байт. И если выделять по 50 байт на каждый чих... Да там static пишешь на переменные длинее 2-х байтов, чтоб влезало как-то. - fk0(20.10.2011 13:02)
- Ха! Зато крутизна пишущего видна, и ресурсы МК забиты под завязку. Это вам не какой-то ламерский код, а библиОтеки использованы на все 100% ;) - Dir(20.10.2011 11:51)
- +500 :=) - koyodza_w(20.10.2011 20:23, )
- Насчет того, что временные буферы лучше размещать в куче - принял к сведению. BaN(1078 знак., 19.10.2011 19:10)
- Хитрости нет. Я думал i==TXBUF_SIZE всегда. На счёт комментариев вида // для закомментаривания исходников -- "за такое людей сжигать нужно" (C) -- есть же #if 0 и #endif со вложенность и т.п. А что комментарии вида /* */ не вложенные -- сплошь fk0(74 знак., 19.10.2011 23:04)
- С #if 0 менее наглядно, т.к. подсветки нет, но все же приемлемо. Попробую перейти на коментарии вида /* */. - BaN(19.10.2011 23:11)
- Ну надо просто взять редактор в котором есть подсветка. Лично я пользуюсь Vim ( fk0(22 знак., 20.10.2011 00:29)
- Vim, конечно, хороший редактор, но мне больше по душе Notepad++. BaN(233 знак., 20.10.2011 10:58 - 21.10.2011 06:14)
- Ну надо просто взять редактор в котором есть подсветка. Лично я пользуюсь Vim ( fk0(22 знак., 20.10.2011 00:29)
- С #if 0 менее наглядно, т.к. подсветки нет, но все же приемлемо. Попробую перейти на коментарии вида /* */. - BaN(19.10.2011 23:11)
- Хитрости нет. Я думал i==TXBUF_SIZE всегда. На счёт комментариев вида // для закомментаривания исходников -- "за такое людей сжигать нужно" (C) -- есть же #if 0 и #endif со вложенность и т.п. А что комментарии вида /* */ не вложенные -- сплошь fk0(74 знак., 19.10.2011 23:04)
- а нафига в цикле i+=r ? - MegaJohn(20.10.2011 16:02)
- Сколько памяти вы выделили под CSTACK? Cepгeй Бopщ(180 знак., 19.10.2011 18:07)
- Да, проблема была в этом. По умолчанию стоял размер стека 0x20. Изменил на 0x100 и заработало нормально. BaN(20 знак., 19.10.2011 18:22)
- Может данные портит функциия CRC16 ? И я бы посмотрел кто такой "0x60"... Юрий_СВ(158 знак., 21.10.2011 16:00)