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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 05.10.2007, 14:34   #1
voofer
Прохожий
 
Регистрация: 26.09.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
voofer на пути к лучшему
По умолчанию Keil & LPC2103 & Proteus

Я использую систему Кейл для работы с контроллерами серии LPC210x как компилятор (RealView), а как симулятор Proteus 7.1
Прошу всех кто использует такое сочетание присоеденяться к теме.

проблема 1: в симуляторе КЕЙЛа при частоте внешнего кварца 25 мег и умножителе 2, что бы получить одну секунду на счётчике нужно посчитать ~49 945 000 тактов, а в протеусе (ну как и должно быть) 50 000 000 тактов.
Чё за прикол??????

проблема 2: При использовании компилятора RealView не могу использовать функции стандартной библиотеки STDIO. При использовании простейшей (printf("111")) прога даже не заходит в Маин. Когда пишу свою аналогичную для выполнения такой же задачи, в окне терменала в симуляторе Proteus не могу выполнить перенос на новую строчку.
Т.е.
UART0_printf("
");
реально ничего не может выполнить..
Хотя
UART0_printf("111111");
выводит всё как надо.
extern void UART0_putchar (char ch) /* Write character to Serial Port */
{

while (!(U0LSR & 0x20));
(U0THR = ch);
}

extern void UART0_putsf(char *str)
{
char k;
while (k=*str++) UART0_putchar(k);
}
Как быть????
Реклама:
voofer вне форума  
Непрочитано 05.10.2007, 15:07   #2
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Я не пользую эти контроллеры и к теме не должен присоединяться - пусть меня вытрут модераторы как флуд, но..
Вы сами ограничиваете функцией вывод значений всего, что идет ниже пробела
printf("
"); значит 13, или 0x0d

while (!(U0LSR & 0x20));

Когда значение символа 0x0d умножаем на 0x20 - в результате получаем условие окончания вывода -0
Или указывайте в процедуре количество символов, или заканчивайте массив 0 значением, а затем по нему прекращайте вывод, что-то типа этого
while (U0LSR != 0);
Тогда для вывода UART0_printf("
",0);
urry вне форума  
Закрытая тема

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus & ATMega16 Alexander_CH Коллекция глюков 5 13.05.2010 00:07
Mega8 & DS1820 & Proteus 6.9 SP3 a-l-e-x Микроконтроллеры, АЦП, память и т.д 1 25.10.2007 11:55
Proteus & ATTiny2313 EKuzmich Proteus 2 06.09.2007 17:33
MPLAB & Proteus 1alan Proteus, KiCAD и другие ECAD 2 25.05.2007 10:16
I2C & LCD & LPT ?? AnB Микроконтроллеры, АЦП, память и т.д 4 06.07.2005 23:23


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


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