Отговори на тема  [ 12 мнения ] 
MCC18 въпрос 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Яну 25, 2006 12:47 pm
Мнения: 305
Местоположение: Varna
Мнение MCC18 въпрос
Има ли булев тип променливи? Никъде в документацията на компилатора не го видях.
В примерите видях дефинирани флагове в структури, но това не решава напълно въпроса. Какво трябва да се направи, ако искаш да дефинираш функция която връща TRUE/FALSE ?!?
Така ли е и с компилаторите на CCS и Hi-Tech ?

И един страничен въпрос - Някой знае ли програма по подобие на терминалните, но да работи с USB-тата? Най - добре би било, ако работи не само с ASCII, но и с HEX или само с HEX.


Сря Фев 15, 2006 12:43 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Пет Фев 04, 2005 3:18 pm
Мнения: 309
Местоположение: Sofia
Мнение 
При MCC18 не знам как е но при CCS е така:

int1 Function();

май и така ставаше

boolean Funcction();


Сря Фев 15, 2006 1:09 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение 
MCC18 за boolean връща byte...


Сря Фев 15, 2006 1:11 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Яну 30, 2006 2:48 am
Мнения: 1248
Местоположение: София
Мнение Re: MCC18 въпрос
bkulev написа:

И един страничен въпрос - Някой знае ли програма по подобие на терминалните, но да работи с USB-тата? Най - добре би било, ако работи не само с ASCII, но и с HEX или само с HEX.


Аз пък отдавна търся терминална програма за PocketPC


Сря Фев 15, 2006 1:13 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
bkulev за терминал по usb.
Ако не намериш нещо свястно В "логически анализатор" има FTDI terminal.
Писал съм я за мои цели и определено не е нещо сериозно. Работи с чиповете FT232 i FT2232.


Сря Фев 15, 2006 1:19 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Апр 27, 2005 2:47 pm
Мнения: 349
Местоположение: Varna
Мнение 
Realterm не работи ли с USB-тата?


Сря Фев 15, 2006 1:23 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Яну 25, 2006 12:47 pm
Мнения: 305
Местоположение: Varna
Мнение 
MCC18 не разпознава думите boolean, true и false. Значи да си дефинирам функцията като int или char и да и давам return 0/1 - ОК, това става, обаче защо да не мога да си дефинирам променлива от тип boolean и компилатора да ми задели 1 бит за нея :?:, ами трябва да си дефинирам структура и там да си заделя съответния флаг. Много учудващо, поне за мен.

А за терминала: Необходима ми е защото искам да използвам USB комуникациите на 4550. за RS си имам моя, но сега не ми се чете за да я доработя и за USB. Намерих една eval на http://www.hhdsoftware.com/ - USB monitor. За съжаление обаче, тя само прихваща комуникациите по USB-тата и не мога да изпращам от нея.


Сря Фев 15, 2006 2:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
При мен нещо не работи нормално,но системата ми е малко странна и може и от нея да е било.
Ако някой е решил проблема с няккава програма и на мен ми е интересно.


#define TRUE 1
#define FALSE 0
и ще ги разпознава

А за bool функцията. Компилаторите дето поддържат bool обикновенно заделят един баит за нея. Проблема е че няма как да адресираш един бит.
така че bool[8] e 8 баита а не 1
struct
{
char MyVar1:1;
char MyVar2:1;
char MyVar3:1;
char MyVar4:1;
char MyVar5:1;
char MyVar6:1;
char MyVar7:1;
char MyVar8:1;
};
Такава неименована структура ти позволява да дефинираш променливите MyVar1 до MyVar8 да са наистина 1 бит.
Но няма начин функцията ти да връща 1 бит.
Ако искаш функцията ти да връща само един бит направи я void и в един фаил global.h които е преинклуднат в проекта и си дефинираш такава безименна структура като един от членовете и кръщаваш return_bool и всяка функция която искаш да ти е bool връща резултат в него. И след извикването на функцията го проверяваш.


Сря Фев 15, 2006 2:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение 
Трудно ще намериш USB "Терминал", защото проблема идва от многото различия във драйверите


Сря Фев 15, 2006 3:00 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Яну 25, 2006 12:47 pm
Мнения: 305
Местоположение: Varna
Мнение 
Да Никола, това е ясно. Аз обаче очаквах тези TRUE и FALSE да са си дефинирани стандартно. Но сега, като се замисля, това вероятно е така, защото PIC-те нямат битово адресируема памет напр. като контролерите с ядра на 8051. От тук и липсата на стандартен тип boolean.

На старницата на realterm пише, че работи и с USB, обаче аз не видях такова нещо. Може би имат пред вид виртуални COM портове, когато се използва преобразуватели USB<>RS232.


Сря Фев 15, 2006 3:38 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Окт 21, 2005 8:45 am
Мнения: 499
Мнение 
@bkulev, напротив цялото адресно пространство на пиковете е побитово достъпно/адресируемо! За разлика от 8051, където са само 32 байта. Но ANSI C не предполага работа с битове (стандартно). А типа boolean не е битова, а логическа променлива! Ако толкова държиш да работиш с int1 променливи - HITECH PICC ги поддържа (bit type).

_________________
Простотията е Божи дар, но човек не бива да парадира с подаръците си!


Сря Фев 15, 2006 4:13 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Яну 25, 2006 12:47 pm
Мнения: 305
Местоположение: Varna
Мнение 
OK, момчета ви благодаря за съдействието.

@evc, мисля, че физическото изражение на логическата променлива е бит-а :wink:,
а за това че на пиковете цялото адресно пространство е побитово достъпно си прав,
аз не го съобразих.


Сря Фев 15, 2006 5:43 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 12 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни