Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 14.11.2011, 20:27  
pve70
Временная регистрация
 
Регистрация: 09.02.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pve70 на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Подскажите, пожалуйста как в IAR ARM включить поддержку sprintf для float. В Library Options поставил для Printf formatter - Full. Все равно на формат "%+4.3f" для числа 50.405 выдает +0.000
Реклама:
pve70 вне форума  
Непрочитано 20.02.2013, 20:09  
igor alexeychik
Прохожий
 
Регистрация: 20.02.2013
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
igor alexeychik на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Люди подскажите пожалуйста, компилю, выдает Fatal Error[Pe035]: #error directive: "No valid platform defined" C:\Program Files\IAR Systems\Embedded Workbench 6.4\arm\CMSIS\Include\common.h 34

что делать? библиотека на месте, в настройках проекта пути указаны(
igor alexeychik вне форума  
Непрочитано 20.02.2013, 22:09  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от pve70 Посмотреть сообщение
Подскажите, пожалуйста как в IAR ARM включить поддержку sprintf для float. В Library Options поставил для Printf formatter - Full. Все равно на формат "%+4.3f" для числа 50.405 выдает +0.000
‹math.h› включили?
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 21.02.2013, 00:08  
igor alexeychik
Прохожий
 
Регистрация: 20.02.2013
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
igor alexeychik на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Спрошу проще, у меня задание на stm32f3 discovery управлять сервоприводом, может кто скинуть пару ссылок на данную тему или может подсказать что нить. Я новичек в этом деле...а времени мало...
igor alexeychik вне форума  
Непрочитано 21.02.2013, 00:11  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от igor alexeychik Посмотреть сообщение
Я новичек в этом деле...а времени мало...
За такие вещи впредь буду банить без предупреждения .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 21.02.2013, 00:32  
igor alexeychik
Прохожий
 
Регистрация: 20.02.2013
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
igor alexeychik на пути к лучшему
Печаль Re: IAR Embedded Workbench

Сообщение от dosikus Посмотреть сообщение
За такие вещи впредь буду банить без предупреждения .
не не не, я ж не прошу мне что-то сделать за деньги просто времени мало дали на работу, а разбираться подробно мамому долго, поэтому и прошу помощи, может пример какой подскажут или в нужное русло направят люди добрые)
igor alexeychik вне форума  
Непрочитано 22.02.2013, 11:53  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Объясните, каким боком могут выйти эти угрозы.
Цитата:
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement
ругается на строчку
if((kb3)&(kb4)&(kb5)) F_KeyRepeat=false;

F_KeyRepeat - объявлена глобальной, а остальные:
#define kb3 PINB_Bit3 //in key_matrix
#define kb4 PINB_Bit4 //in key_matrix
#define kb5 PINB_Bit5 //in key_matrix

ps
все вышесказанное относится к клавиатуре-матрице.
__________________
Мелочи не решают главного. Они решают всё!
gary2007 вне форума  
Непрочитано 22.02.2013, 13:38  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от gary2007 Посмотреть сообщение
Объясните, каким боком могут выйти эти угрозы.
Начнём с того, что это предупреждение, а не ошибка. Компилятр предупреждает, что переменные объявлены как volatile (все пины портов) и они стоят в условии, поэтому правильность доступа не определена.
В принципе стандартное предупреждение в такой ситуации. Здесь я не вижу как может произойти казус, но приведу пример, где действительно предупреждение не лишнее...
if((x›5) && (x‹7)) y = 10; при том что x - char volatile ... например значение таймера ....
Надо понимать, что операция будет выполняться последовательно ...
Представим что x = 0xff.
1. выполнится первое условие
2. произойдёт прерывание в котором таймер переполнится и будет 00
3. выполнится второе условие и таким образом произойдёт ошибка.
Поэтому необходимо либо создать локальную копию переменной, до сравнения, либо создать критическую секцию, для предотвращения модификации переменной, во время проверки ...
====
В данном случае, у вас тоже не всё гладко ... Я не совсем понял что вы хотите... и не совсем не знаю как сработает компилятор ... Скорее всего вы ошиблись ...
Вы наверное хотели проверить 3 бита на 1... тогда надо было записать либо kb3 && kb4 && kb5 либо PINB & 0x70 ...
Боюсь ошибиться, но скорее всего согласно вашей записи компилятор сделает следующее

x1 = (PINB ›› 3) & 1
x2 = (PINB ›› 4) & 1
x3 = (PINB ›› 5) & 1
результат = x1 & x2 & x3
SasaVitebsk вне форума  
Сказали "Спасибо" SasaVitebsk
gary2007 (22.02.2013)
Непрочитано 22.02.2013, 14:14  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от SasaVitebsk Посмотреть сообщение
kb3 && kb4 && kb5
Спасибо, в таком виде предупреждений нет.

В моем случае клавиатура 9 кнопок - матрица 3х3.
Необходимо "держать" программу, пока все кнопки не окажутся в разомкнутом состоянии. Если хотя-бы одна кнопка нажата, на входе порта kbX "ноль".
__________________
Мелочи не решают главного. Они решают всё!
gary2007 вне форума  
Непрочитано 23.02.2013, 01:11  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: IAR Embedded Workbench

Сообщение от gary2007 Посмотреть сообщение
Спасибо, в таком виде предупреждений нет.

В моем случае клавиатура 9 кнопок - матрица 3х3.
Необходимо "держать" программу, пока все кнопки не окажутся в разомкнутом состоянии. Если хотя-бы одна кнопка нажата, на входе порта kbX "ноль".
Вот видите... Надо думать, что вы указываете компилятору ... Мы часто не задумываемся об этом.
Вы хотели проверить 3 бита на 1. И написали (kb3)&(kb4)&(kb5) ... То есть вы указали компилятору, что надо сделать логическое "и" трёх битов и проверить результат на "не 0"
Скажем я напишу как это примерно буде выглядеть для AVR
in r15, PINB
swap r15
mov r16, r15
in r15, PINB
swap r15
rol r15
and r16, r15
in r15, PINB
swap r15
rol r15
rol r15
and r16, r15
breq M1
// тело if
Если вы написали (kb3)&&(kb4)&&(kb5), то вы указали компилятору проверить биты на "не 0", и без оптимизации это выглядит примерно так ...
sbis PINB,3
rjmp M1
sbis PINB,4
rjmp M1
sbis PINB,5
rjmp M1
// тело if
Если вы написали (PINB & 0x70)==0x70, то это выглядит примерно так ...
in r15,PINB
andi r15, 0x70
cpi r15,0x70
brne M1
// тело if

Все 3 конструкции идентичны ...
Поэтому удивляет, когда народ Си ругает, хотя Си - это просто инструмент. И им надо грамотно пользоваться ...
SasaVitebsk вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подниму тему WinAVR vs IAR oleg110592 Микроконтроллеры, АЦП, память и т.д 5 24.10.2015 14:06


Часовой пояс GMT +4, время: 23:13.


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