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

 
 
> Чем отличается uint8_t от unsigned char?
-=Женек=-
сообщение May 14 2010, 19:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Коллеги, переношу проект из WinAVR в KEIL.
Есть переменная uint8_t - в KEIL не прокатывает. Задумался, а чем же по сути она отличается от char. И как ее объявить в KEIL, дабы перенести без минимальных последствий?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sigmaN
сообщение Jun 14 2010, 18:44
Сообщение #2


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



ггг. Геморрой не стоит свеч biggrin.gif
и если это volatile - там никакие критические секции вроде как не помогут. Вы всё равно считаете не нужный байт. Или я чего-то не понимаю....
В общем как тут не извращайся, а полноценного ТИПА ДАННЫХ не получить.
Побайтовый доступ через MOVB AX.LSB,LOC16 - нет проблем. даже интринсик есть. Кажется __byte(int *ptr, int byte); или как-то так. Лень смотреть точно.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 14 2010, 20:06
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(sigmaN @ Jun 14 2010, 22:44) *
и если это volatile - там никакие критические секции вроде как не помогут.
Помогут, помогут.
Цитата
Вы всё равно считаете не нужный байт. Или я чего-то не понимаю....

Ну и считаю я лишний байт и что?
Я же не из SFR области это по большей части делаю, где ещё могут быть варианты да и то очень маловероятно.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 15 2010, 06:03
Сообщение #4


Гуру
******

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



Цитата(demiurg_spb @ Jun 14 2010, 23:06) *
Помогут, помогут.
Сказав "А" говорите "Б". Мне тоже непонятно, чем они могут помочь. Опишите механизм.
Цитата(demiurg_spb @ Jun 14 2010, 23:06) *
Ну и считаю я лишний байт и что?
А автор такого компилятора, значит, где-то в описании должен написать "ну и не будет программа работать правильно, ну и что?"
Цитата(demiurg_spb @ Jun 14 2010, 23:06) *
Я же не из SFR области это по большей части делаю...
А компилятор об этом знает? Для него есть стандарт: "чтение volatile может вызвать изменение состояния абстрактной машины". Все. Точка. Даже если это не SFR.


--------------------
На любой вопрос даю любой ответ
"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
demiurg_spb
сообщение Jun 15 2010, 09:37
Сообщение #5


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Сергей Борщ @ Jun 15 2010, 10:03) *
Сказав "А" говорите "Б". Мне тоже непонятно, чем они могут помочь. Опишите еханизм.
Что значит чем? - Обеспечат атомарность доступа к "спаренной" ячейке памяти.

Цитата
А автор такого компилятора, значит, где-то в описании должен написать "ну и не будет программа работать правильно, ну и что?"
А компилятор об этом знает? Для него есть стандарт: "чтение volatile может вызвать изменение состояния абстрактной машины". Все. Точка. Даже если это не SFR.
Покажите мне пожалуйтса на пальцах как это "изменение состояния абстрактной машины" возможно для внутреннего ОЗУ из не SFR области!!!
А к SFR нефиг обращаться побайтно - так и написал бы в документации. Всё - никаких проблем.

Спор на самом деле бесполезен.
То что сделать 100% отвечающую стандарту реализацию "для всех случаев жизни" невозможно - я это понимаю,
но для 99% основных применений всё же возможно!


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=Женек=-   Чем отличается uint8_t от unsigned char?   May 14 2010, 19:33
- - rezident   Тем, что uint8_t имеет конкретно определенную разм...   May 14 2010, 19:44
|- - dch   Цитата(rezident @ May 14 2010, 23:44) В с...   May 15 2010, 03:27
|- - Danis   UInt8 - An unsigned 8-bit integer. This value maps...   May 20 2010, 11:29
|- - demiurg_spb   Откуда цитата? И какое отношение она имеет к соотн...   May 20 2010, 13:41
- - shista   Добавьте к инклудам #include <inttypes.h> ил...   Jun 12 2010, 19:08
- - baralgin   Цитата(rezident @ May 14 2010, 22:44) Тем...   Jun 12 2010, 20:07
|- - demiurg_spb   Чстенько компиляторы имеют свои собственные builti...   Jun 13 2010, 09:06
- - sigmaN   Открою Вам маленький секрет В stdint.h для C2000 ...   Jun 13 2010, 10:36
|- - demiurg_spb   Интересный ход. Нет человека - нет проблем!:-)   Jun 13 2010, 10:55
- - sigmaN   Ну не может он обеспечить 8бит никак! там siz...   Jun 13 2010, 16:06
|- - dxp   Цитата(sigmaN @ Jun 13 2010, 23:06) там s...   Jun 14 2010, 04:53
|- - demiurg_spb   Цитата(sigmaN @ Jun 13 2010, 20:06) Ну не...   Jun 14 2010, 10:04
||- - Сергей Борщ   Цитата(demiurg_spb @ Jun 14 2010, 13:04) ...   Jun 14 2010, 10:13
|||- - demiurg_spb   Цитата(Сергей Борщ @ Jun 14 2010, 14:13) ...   Jun 14 2010, 11:59
||- - rezident   Цитата(demiurg_spb @ Jun 14 2010, 16:04) ...   Jun 14 2010, 22:25
|- - =GM=   Цитата(sigmaN @ Jun 13 2010, 15:06) Ну не...   Jun 14 2010, 10:25
- - baralgin   Цитата(dxp @ Jun 14 2010, 07:53) А где ин...   Jun 14 2010, 05:47
- - baralgin   легкий поиск гуглом и оказывается таки 1, как и in...   Jun 14 2010, 06:50
- - sigmaN   ЦитатаЭто была опечатка. Как раз равно 2именно 1. ...   Jun 14 2010, 07:20
|- - Сергей Борщ   Цитата(sigmaN @ Jun 14 2010, 10:20) но ту...   Jun 14 2010, 09:52
- - ViKo   Вот цитата из словаря. Цитатаbyte (Computer En) [t...   Jun 15 2010, 08:31


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:57
Рейтинг@Mail.ru


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