реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> WinAVR, _delay_ms(), строки и оптимизация.
Сергей Борщ
сообщение Nov 10 2010, 08:33
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Laksus @ Nov 9 2010, 00:16) *
___
volatile не помогает, ничего не меняется.
___
Покажите, как вы его применили. Сдается, что вы вместо volatile-указателя на char объявили указатель на volatile char. Потому и не помогло.
alexeyv - насчет безликого init() согласен. Но раз дальше идет разрешение прерывания UDRIE, то логично предположить что оно было запрещено до этого. Иначе бы мы просто постоянно крутились в его обработчике.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Laksus
сообщение Nov 10 2010, 11:15
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 16-05-05
Пользователь №: 5 069



Цитата(Сергей Борщ @ Nov 10 2010, 11:33) *
... Сдается, что вы вместо volatile-указателя на char объявили указатель на volatile char. Потому и не помогло. ...

Так точно! Я ж эту volatile пытался влепить в кучу мест (примерно как мартышка очки), и только после звездочки не догадался (она ж у меня вплотную к переменной пририсована, вот как-то в голову и не пришло, .что туды можно что-то добавить.)
Код
    char *volatile StringLCD;//  работает так как хотел


Большое спасибо за помощь.
Хоть в данном случае большой проблемы и не было, но в дальнейшем незнание разницы между volatile-указателем и укзателем на volatle еще не раз бы о себе напомнило. (Хотя я пока еще толком не понял этой разницы, но гугль говорит, что на эти грабли настапают многие. Есть много обсуждений этого вопроса, почитаю, надеюсь пойму.)

Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 10 2010, 11:55
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Laksus @ Nov 10 2010, 13:15) *
но в дальнейшем незнание разницы между volatile-указателем и укзателем на volatle еще не раз бы о себе напомнило. (Хотя я пока еще толком не понял этой разницы
volatile-указатель: "указатель в любой момент может измениться сам по себе и указать на какое-то другое место".
Указатель на volatile - "то, на что указывает указатель может измениться само по себе".
Принцип тот же, что и с const -указателем - "этот указатель всегда указывает на одно и то же место, ты не можешь присвоить ему другое значение и заставить указывать в другое место".
Указатель на const - "может указывать куда угодно, но то, на что он указывает менять нельзя".


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th August 2025 - 13:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01553 секунд с 7
ELECTRONIX ©2004-2016