Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 26.07.2020, 07:06   #1
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Кеил, volatile

Коллеги, извините за глупый вопрос: когда стоит и когда не стоит использовать сабж? Ситуация такая: есть система сбора данных на СД карту, в режиме записи молотит 750 строк по 16 байт в секунду. У нее четко стояла проверка адреса текущего сектора перед записью с адресом последнего возможного сектора. Переменные адресов были просто uint32_t. Во время грозы, которую мы писали что-то пошло не так и прибор начал писать по второму кругу, естественно данные затерлись. Поставил потом волатилю перед объявлением переменных адресов карты - работает четко, но это не точно, грозы же не было
Сумбурненько конечно, но это компилятор так решил или еще что?

Последний раз редактировалось HJV; 26.07.2020 в 07:17.
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 08:08   #2
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,956
Вес репутации: 2596/90
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Кеил, volatile

Не знаю причем тут волатайл к грозе, но его как минмум надо ставить для переменных, которые используются одновременно в прерывании и вне его (или в другом прерывании).
DimaS вне форума   Ответить с цитированием
Старый 26.07.2020, 08:11   #3
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от DimaS Посмотреть сообщение
Не знаю причем тут волатайл к грозе, но его как минмум надо ставить для переменных, которые используются одновременно в прерывании и вне его (или в другом прерывании).
Да не, гроза это к слову, мне интересно почему он игнорировал сравнение с последним адресом и пошел на второй круг.
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 08:18   #4
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Кстати о грозе, если интересно, то вот сохранившийся хвост. Д1 - 8мм, Д2, Д3 - 3 см детекторы.
Миниатюры
IMG-d72ef7ffd18f5b78ea30d2183c769cf2-V.jpg   IMG-955bcaee6d8ef37b6ddbe6abcd814598-V.jpg   IMG-7042b31e817f8daaf82c56c16ef4eeb5-V.jpg  
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 08:54   #5
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,921
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
Да не, гроза это к слову, мне интересно почему он игнорировал сравнение с последним адресом и пошел на второй круг.
а фиг его знает
тут ясновидящих нет.

где то ручки в кодище чего то не то сделали....
а волатайл нужен чтобы компиль со своим оптимизатором не лез...
SergP01 вне форума   Ответить с цитированием
Старый 26.07.2020, 09:01   #6
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Вот именно про это и вопрос - компилятор подгадил? Как можно было перешагнуть через

Код:
if(Sectr_Adr>=Last_Sectr_Adr) while(1){LED_ERR_INV(); Delay(500);} // Stop//printf(" End of memory ");
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 09:11   #7
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

А Грег был прав, внутреннее АЦП (даже если сигма-дельта) это зло, гуляет себе как проститутка по Бродвею в пределах +/- mV
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 09:17   #8
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 58
Сообщений: 2,938
Вес репутации: 4193/115
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
Как можно было перешагнуть
А откуда кто знает ???
Возьмите отладчиком в железе и проверьте... или АСМ исполняемого кода просейте...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 26.07.2020, 09:24   #9
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Сегодня-завтра у нас еще грозы будут - проверим. Сейчас снять прибор с дежурства никак нельзя)
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 09:32   #10
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,921
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
А Грег был прав, внутреннее АЦП (даже если сигма-дельта) это зло, гуляет себе как проститутка по Бродвею в пределах +/- mV
это где вы такой ацп нашли?
SergP01 вне форума   Ответить с цитированием
Старый 26.07.2020, 09:34   #11
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,921
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
Вот именно про это и вопрос - компилятор подгадил? Как можно было перешагнуть через

Код:
if(Sectr_Adr>=Last_Sectr_Adr) while(1){LED_ERR_INV(); Delay(500);} // Stop//printf(" End of memory ");
легко ...Sectr_Adr всегда меньше
SergP01 вне форума   Ответить с цитированием
Старый 26.07.2020, 09:35   #12
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от SergP01 Посмотреть сообщение
это где вы такой ацп нашли?
STM32F373
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 09:42   #13
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,921
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
STM32F373
а опору нормальную внешнюю сделать?
SergP01 вне форума   Ответить с цитированием
Старый 26.07.2020, 09:51   #14
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Пробовал AD780, не сильно помогло.
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 09:56   #15
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

В следующем варианте попробую ADS1220 воткнуть.
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 10:01   #16
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,921
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
В следующем варианте попробую ADS1220 воткнуть.
ну тут либо частота выборки, либо усреднение...
SergP01 вне форума   Ответить с цитированием
Старый 26.07.2020, 10:11   #17
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

В любом случае это много лучше, чем внутреннее АЦП.

Последний раз редактировалось HJV; 26.07.2020 в 10:18.
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 10:19   #18
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,921
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
В любом случае это много лучше, чем внутреннее АЦП.
Кстати, Сергей, что вы тогда говорили, по поводу малой скорости опроса, чтоб увидеть СВЧ-детектором грозовую активность?
для грозы не нужен СВЧ.... да боковики в широком спектре...
SergP01 вне форума   Ответить с цитированием
Старый 26.07.2020, 10:23   #19
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 572
Вес репутации: 1209/67
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: Кеил, volatile

Главное процесс пошел, сейчас накопим опыт, следующим летом уже будем более подготовленными. Карантин падла все планы испортил)
HJV вне форума   Ответить с цитированием
Старый 26.07.2020, 13:28   #20
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,956
Вес репутации: 2596/90
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Кеил, volatile

Цитата:
Сообщение от HJV Посмотреть сообщение
А Грег был прав, внутреннее АЦП (даже если сигма-дельта) это зло, гуляет себе как проститутка по Бродвею в пределах +/- mV

А почему оно не должно гулять, если там при недифф. входе и 3.3в референсе, реальных меньше 12-ти бит? (ENOB).
DimaS вне форума   Ответить с цитированием
Старый 26.07.2020, 14:36   #21
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,455
Вес репутации: 4677/100
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Кеил, volatile

HJV
Вот именно про это и вопрос - компилятор подгадил? Как можно было перешагнуть через

Код:
if(Sectr_Adr>=Last_Sectr_Adr) while(1){LED_ERR_INV(); Delay(500);} // Stop//printf(" End of memory ");
этого явно недостаточно для того, чтобы Вам помочь.

квалификатор volatile не создает атомарность доступа к переменной.
квалификатор volatile никак не связан с атомарностью вообще.
если у Вас Sectr_Adr u64, то Вам нужны другие примитивы для того, чтобы проверять адрес сектора.

Вряд-ли у Вас гроза повлияла на код, полагаю, у Вас просто где-то состояние гонки, которое проявилось после задержек, которые возникли по ряду причин в грозу.

К сожалению я не знаю людей, которые знают keil достаточно, чтобы ответить на вопрос о его оптимизациях, но интуиция мне подсказывает, что вряд-ли там есть какие-то серьезные проблемы.
besogon вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IAR vs Keil и танцы с бубном вокруг уровня оптимизации Petr Инструментарий 71 25.06.2020 01:34
PIC18FxxK80 & EEPROM xc8 Рак Продукция MICROCHIP 13 28.02.2019 18:11
Ошибка формирования сигнала на выводе RB8 PIC32MX795L smart_pic Продукция MICROCHIP 7 13.02.2019 21:46
STM32 Вопрос по Keil petrd Микроконтроллеры других производителей 15 14.09.2017 16:17
HI-TECH: переход с PIC18F4620 на PIC18F26K22 diman891 Инструментарий 6 06.11.2012 13:46


Часовой пояс GMT +3, время: 20:41.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot