Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.02.2012, 01:21
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: "Синтаксис" ASM -кода в программе на Си.
Сообщение от olc0267
|
Если нужно проверить состояние UDR, а потом выполнить действие, используйте if.
|
Что его проверять? Если прерывание по приёму.
Прочитал и на выход. (Ну может frame error проверить).
|
|
|
|
24.02.2012, 07:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,531
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: "Синтаксис" ASM -кода в программе на Си.
Сообщение от _Артём_
|
Что его проверять?
|
я раз забыл ногу RX подтянуть... В симуляции все отлично было, а в железе ну не работает, и все. На висящий вход помехи шли и из прерывания INT_RDA программа очень редко выходила С помехами разобрался, но изредка проскакивали, сделал проверку - первый символ определенный должен был быть, и все нормально заработало.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
24.02.2012, 11:53
|
|
Частый гость
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
в среде WinAVR можно ли задавать переменную вот так:
uint16_t a;
и вот так:
u16 a;
|
|
|
|
24.02.2012, 11:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
slavik.ksu, typedef uint16_t u16
|
|
|
|
24.02.2012, 13:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
Сообщение от _guardianangel
|
slavik.ksu, typedef uint16_t u16
|
И ваще для выходцев из Паскаля:
typedef uint16_t word
typedef unsigned char byte
И погибли окончательно в определениях типов..
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
24.02.2012, 14:56
|
|
Частый гость
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
guardianangel, спаибо!
Теперь такой вопрос: "указатель должен быть того же типа что и данные на которые он указывает". Пишу так:
uint32_t z;
uint32_t *u;
открываю симуляцию а там переменная z - 32х битная, а указатель u - 16тибитный? как написать чтоб он тоже был 32хбитный?
|
|
|
|
24.02.2012, 17:56
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
А зачем Вам, чтобы указатель был 32-ух битный?
Размерность указателя определяется адресным пространством, который адресует CPU ... Ну скажем в общем случае ...
В некоторых МК могут быть короткие указатели ... Ну например в AVR на МК с адресным пространством свыше 64К при обращении внутри страницы (NEAR) компилятор может работать с короткими (16 бит) указателями. И скорее всего он будет так располагать таблицы, чтобы обойтись короткими. И только если это невозможно, то применит длинные (far - 20 бит) указатели ...
Настоятельно рекомендую... Если Вы не в состоянии понять что делает компилятор и как он это делает, то не лезьте к нему ... не мешайте ему работать ... и будет Вам щастье ...
|
|
|
|
02.03.2012, 15:58
|
|
Частый гость
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
Здравствуйте! пробую запустить таймер:
TCCR0 =(3‹‹CS0) ; // выдает ошибку:
error: 'CS0' undeclared (first use in this function)
error: (Each undeclared identifier is reported only once
Если же записать просто число:
TCCR0 =0x3; // работает как надо!
Подскажите что нибудь...
|
|
|
|
02.03.2012, 16:02
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
Сообщение от slavik.ksu
|
Здравствуйте! пробую запустить таймер:
TCCR0 =(3‹‹CS0) ; // выдает ошибку:
error: 'CS0' undeclared (first use in this function)
error: (Each undeclared identifier is reported only once
Если же записать просто число:
TCCR0 =0x3; // работает как надо!
Подскажите что нибудь...
|
Наверное, надо TCCR0 =(1‹‹CS0) ;
Но для этого надо прилепить файл описания с этим CS0. Иначе ни я, ни компилятор не знаем, что оно означает.
|
|
|
|
02.03.2012, 16:40
|
|
Частый гость
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: "Синтаксис" ASM-кода в программе на Си
Сообщение от Easyrider83
|
Наверное, надо TCCR0 =(1‹‹CS0) ;
Но для этого надо прилепить файл описания с этим CS0. Иначе ни я, ни компилятор не знаем, что оно означает.
|
так тоже не работает! Вот про фаил я тоже думаю, но какой, не имею представления?
и еще момент! Строчку:
TIMSK = 1‹‹OCIE0; // компилятор понимает!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:36.
|
|