После чего сужается закладка текущего файла, но потом все становятся короткими.
WinAvr в вопросах и ответах
Меню Tools (это ж надо туда затолкать!) / Options / General / Filetabs: выпадающий список, выбрать Filename Only
После чего сужается закладка текущего файла, но потом все становятся короткими.
После чего сужается закладка текущего файла, но потом все становятся короткими.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- Реклама
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Ой пасип......avreal писал(а):Меню Tools (это ж надо туда затолкать!) / Options / General / Filetabs: выпадающий список, выбрать Filename Only
После чего сужается закладка текущего файла, но потом все становятся короткими.
Я аж вздохнул с облегчением.....
И действительно это ж надо было так спрятать, в жизни бы сам не нашел. Вдоль и поперек излазил настройки, а туда не догадался лезть.
И еще по ходу (после переустановки компа, у меня чет все не так как раньше было) меняю цвет комментариев, в текущем сеансе все нормально, но после рестарта программы, они опять по умолчанию - зеленые..... Как там другой цвет прибить та-скать, чтоб он уже не отваливался?
Код: Выделить всё
C:\Program Files\Atmel\AVR Tools\AvrStudio4\edit\AvrStudio_c.ini Те же что правятся из Студии, имеют место только для текущего проекта. Вот потому все и сбрасывается при создании нового проекта.
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Дык у меня даже при рестарте программы и загрузке того же проекта, цвет все равно сбрасывается.....
Я бы рад был бы если бы он хотябы в другом проекте сбрасывался, атож при каждом запуске проги поправляю вручную.....
Я бы рад был бы если бы он хотябы в другом проекте сбрасывался, атож при каждом запуске проги поправляю вручную.....
Запускайте от имени администратора в седьмой есть такая фишка.Короче права доступа нужно настроить.
- Реклама
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
vitalik_1984 Пасип, теперь понял. Хотя знал о разнице в запуске программ, но тут чтото не додумался.....
Пасип огромное..... Вааще супер, один раз вбил, и забыл..... Откуда вы тока знаете такие тонкости? Диву даюсь.....rs39 писал(а):Код: Выделить всё
C:\Program Files\Atmel\AVR Tools\AvrStudio4\edit\AvrStudio_c.ini
Да просто с Виндой "на ты" уж 2 десяток пошел. А точнее с ее тонкостями. Ну и общий стаж программирования (не в avr!) в винде примерно такой-жеshads писал(а): Пасип огромное..... Вааще супер, один раз вбил, и забыл..... Откуда вы тока знаете такие тонкости? Диву даюсь.....
- Сообщения: 45
- Зарегистрирован: Вс янв 22, 2012 21:57:43
Доброго времени...
разбираясь с одной прогой - встретилось следующее
/*DDRx*/
#define _DDRx *(__DDRx_p)
/*PORTx*/
#define _PORTx *(__DDRx_p+1)
/*PINx*/
#define _PINx *(__DDRx_p-1)
так вот - где найти описание этого "__DDRx_p" ?
в этой проге его нет. в include winavr тоже не находится...
подскажите пожалуйста
разбираясь с одной прогой - встретилось следующее
/*DDRx*/
#define _DDRx *(__DDRx_p)
/*PORTx*/
#define _PORTx *(__DDRx_p+1)
/*PINx*/
#define _PINx *(__DDRx_p-1)
так вот - где найти описание этого "__DDRx_p" ?
в этой проге его нет. в include winavr тоже не находится...
подскажите пожалуйста
Смотрите даташит на ваш конкретный Мк. Там есть раздел таблица регистров. как правило регистры одного порта идут в одном и том же порядке друг за другом, на этом и основана эта запись.
вам она в общем то не нужна - все это прописано в файле io.h.
Если только в самом проекте не использованы эти определения.В этом случае можно просто заменить описанное определение вот этим.
Но это не обязательно что сразу заработает.Нужно смотреть конкретно что в коде.
вам она в общем то не нужна - все это прописано в файле io.h.
Если только в самом проекте не использованы эти определения.В этом случае можно просто заменить описанное определение вот этим.
Код: Выделить всё
/*DDRx*/
#define _DDRx *DDRx
/*PORTx*/
#define _PORTx *PORTx
/*PINx*/
#define _PINx *PINx Доброго времени суток:) Помогите пожалуйста с датчиком уровня топлива. Почти допилил на симуляторе, но пару вопросов никак не решаются =)
у меня не хотят работать прерывания на INT1 и кнопка на PA5 (хотя с INT0 и PA6 все нормально, инициализируются в общей куче).
контроллер attiny861, симуляция в proteus 7.10, пишу в WinAVR. схема и код в архивчике
*на #define PLUS установлено неправильное значение. должно быть 0x20. но это особо не помогает
у меня не хотят работать прерывания на INT1 и кнопка на PA5 (хотя с INT0 и PA6 все нормально, инициализируются в общей куче).
контроллер attiny861, симуляция в proteus 7.10, пишу в WinAVR. схема и код в архивчике
*на #define PLUS установлено неправильное значение. должно быть 0x20. но это особо не помогает
- Вложения
-
- 2.rar
- (78.11 КБ) 188 скачиваний
Последний раз редактировалось slavokhire5 Пт ноя 02, 2012 09:25:08, всего редактировалось 1 раз.
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
**проблема ушла сама собой с переходом на 8-ю мегу. тот же код работал нормально
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
Я заметил в вашем коде при нажатии на кнопку по прерыванию выключается то самое прерывание причем с другой кнопки, а где же оно включается в рабочем цикле я так и не увидел.И зачем оно выключается так и не понял.
Выходит что какую кнопку нажмешь первой та и будет постоянно у второй кнопки прерывание выключать.
Выходит что какую кнопку нажмешь первой та и будет постоянно у второй кнопки прерывание выключать.
есть такое
в нынешнем варианте я глобально запрещаю прерывания, даю задержку 300мс чтобы избавиться от дребезга, очищаю флаги прерываний на всякий случай, а затем возвращаюсь в основную программу
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
Так может нынешний вариант и с предыдущим контролером будет работать?
Только непонятно как ваш код с глобальными запретами будет работать, если в проект захотите добавить динамическую индикацию.
Только непонятно как ваш код с глобальными запретами будет работать, если в проект захотите добавить динамическую индикацию.
может и будет) но до перехода на др контроллер не хотел)
*прерывания запрещаются всего на 300мс. за это время индикация просто мигнет. тем более это режим настройки. как по мне, удобнее, когда индикатор подмигивает в такт нажатиям.
*прерывания запрещаются всего на 300мс. за это время индикация просто мигнет. тем более это режим настройки. как по мне, удобнее, когда индикатор подмигивает в такт нажатиям.
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
300 миллисекунд это как минимум 3000 тактов убитых впустую.Хорошо еще что только при нажатии клавиши:)))
Вообще можно в прерывании динамики весь цикл отработки нажатия сделать, в том числе задержку перед следующим срабатыванием.И к тому же позволит освободить пару внешних прерываний.
Вообще можно в прерывании динамики весь цикл отработки нажатия сделать, в том числе задержку перед следующим срабатыванием.И к тому же позволит освободить пару внешних прерываний.
В поисках истины человек развивается.
пытаюсь слезть с СV
как будет правильно написать сии строки ?
как будет правильно написать сии строки ?
Код: Выделить всё
#define kn_1 PIND.5Tell Me The Truth
В таком же удобном формате не получится использовать, только если создать битовые поля для портов, но это я не знаю как получится.Битовые поля это маски там всякие применяются, а в CV то одна всего команда изменения/проверки бита в асм коде.
Стандартный способ определения состояния портов
Стандартный способ определения состояния портов
Код: Выделить всё
#define KN_1 (PIND&(1<<PIND5))
if(KN_1){
// Тут делаем что хотим
};
Код: Выделить всё
PIND&(1<<PIND5)он же сконфигурирован на вход а не на выход......, вот если бы он был выходом тогда можна смело записать PORTD & (1<<5)
это я понимаю, а то что написал ты как то не доходит...., обясни пожалуйста
Tell Me The Truth
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Это не вывод в пин, это проверка значения пина.....FreshMan писал(а):а как это так мы просто записываем в 5 пин порта Д единицу ?Код: Выделить всё
PIND&(1<<PIND5)
он же сконфигурирован на вход а не на выход......, вот если бы он был выходом тогда можна смело записать PORTD & (1<<5)
это я понимаю, а то что написал ты как то не доходит...., обясни пожалуйста
Вывод в пин будет писаться так:
Код: Выделить всё
PIND |= (1<<PIND5)


