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

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

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

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

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

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

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

 
Опции темы
Непрочитано 21.10.2010, 12:55  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Ну,а с PICC то какие проблемы,там всё просто.В папке Examples полно примеров.
Реклама:
Vov123 вне форума  
Непрочитано 21.10.2010, 13:26  
NikMih_1
Гражданин KAZUS.RU
 
Аватар для NikMih_1
 
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
NikMih_1 на пути к лучшему
Радость Re: Вопросы от NikMih_1

Сообщение от Vov123 Посмотреть сообщение
Ну,а с PICC то какие проблемы,там всё просто.В папке Examples полно примеров.
Вам всё просто, мне нет.
NikMih_1 вне форума  
Непрочитано 21.10.2010, 13:31  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Вам ссылку на книгу Шпака дали,как раз про PICC, вам даже её полистать лень
Vov123 вне форума  
Непрочитано 21.10.2010, 18:39  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
Во, даже название есть. Клёво! Осталось только сделать.
Очень схематично:

1. Организовать буфер размером, скажем в 10
Код:
#define buf_size 10
u8 buffer[buf_size];
2. Выделить две переменные для указателей чтения из буфера и записи в него и сразу их настроить на начало буфера
Код:
u8 rp = 0;
г8 wp = 0;
3. Далее осмыслить, что будут существовать две независимые функции, чтение из буфера и запись в него. Каждая функция будет работать со своим указателем.

4. Чтение из буфера.
Перед чтением проверить, не одинаковы ли значения указателей. Если да, то всё уже вычитано, читать нечего. Возвращать по вкусу, можно false, можно как-нибудь ещё
Код:
if( rp == wp ) return 0;
else
tmp = buffer[rp];
if( rp++ == buf_size ) rp = 0;
return tmp;
Это если данные в буфере не содержат 0. Оставляю место "на подумать, как это обойти"...

5. Запись в буфер. Очень похоже, но с контролем уже положения указателя записи. Записывать всегда будем в заранее подготовленное место по указателю.
Код:
buffer[wp++] = data;
if( wp == buf_size ) wp = 0;
Здесь не учитывается переход через указатель чтения, таким образом по моему примеру невычитанные данные пропадут.
Оставляю место "для подумать, как это обойти..."
ut1wpr вне форума  
Непрочитано 21.10.2010, 19:53  
NikMih_1
Гражданин KAZUS.RU
 
Аватар для NikMih_1
 
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
NikMih_1 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от ut1wpr Посмотреть сообщение
2. Выделить две переменные для указателей чтения из буфера и записи в него и сразу их настроить на начало буфера
Именно так я и планировал сделать только как конкретно не знал. Да и сейчас не знаю кто такой r8 в выражении г8 wp = 0; Вопрос, если я так зафиксирую ячейку начала буфера, то его расположение не будет ёрзать по РАМ по инициативе СИ? Очень бы не хотелось.
NikMih_1 вне форума  
Непрочитано 21.10.2010, 20:06  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
Именно так я и планировал сделать только как конкретно не знал. Да и сейчас не знаю кто такой r8 в выражении г8 wp = 0; Вопрос, если я так зафиксирую ячейку начала буфера, то его расположение не будет ёрзать по РАМ по инициативе СИ? Очень бы не хотелось.
не г8, а u8 я так понимаю это unsigned char, объявленное через typedef unsigned char u8;.

Что значит "ёрзать"?

ut1wpr вы если даете такие примеры, то хоть поясняйте, что где. А то видите не понятно, что такое u8.
realid вне форума  
Непрочитано 21.10.2010, 22:32  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от realid Посмотреть сообщение
не г8, а u8 я так понимаю это unsigned char, объявленное через typedef unsigned char u8;.

Что значит "ёрзать"?

ut1wpr вы если даете такие примеры, то хоть поясняйте, что где. А то видите не понятно, что такое u8.
Извините. Раскладка не переключилась. Бывает.
Безусловно Вы правы, это переобъявленный тип. Такое мы делаем для сокращения написания. Чисто умозрительно. Согласитесь, проще написать u8, чем unsigned char. Правда, можно и не определять новый тип, а просто применить подмену макросом (#define u8 unsigned char), но строже, безусловно, именно определить тип.
А за пример я приношу извинения. Он, безусловно, больше скелетный, чем рабочий. Просто мне показалось, что для спрашивающего, с его уровнем подготовки, не мешало бы в придачу к словесным разъяснениям привести хоть пару строчек. Простых. На стандартном ANSI C. От K&R...
Лично я сторонник начального обучения по методу ЛЛЛ (Лихорадочное Листание Листингов) Пусть человек смотрит, как делают другие, а как ему будет лучше, проще и удобнее, потом решит сам. Тем то и силён Си, что он предоставляет такую возможность выбора. Одно и то же можно многими способами написать...
ut1wpr вне форума  
Непрочитано 21.10.2010, 22:56  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
Да и сейчас не знаю кто такой r8 в выражении г8 wp = 0; Вопрос, если я так зафиксирую ячейку начала буфера, то его расположение не будет ёрзать по РАМ по инициативе СИ? Очень бы не хотелось.
г8 это u8 на кириличной раскладке. Ну не переключилась клава, разве не видно, что u и г на одной клавише?
Ни один из компиляторов не имеет ИНИЦИАТИВЫ. Она только у вас, как у автора программы. "Ёрзание", смещение указателей по буферу, находится полностью под вашим контролем.
rp++ или wp++ это постинкрементные операторы. Они вызывают увеличение переменной на 1 после выполнения действия. В вашей трактовке это и есть "ёрзание". Этим и достигается смещение указателя.
Но мне кажется, что один из авторов вышеприведённых постов прав. Вы упорно не желаете перечитывать описание синтаксиса простейшей версии Си. Извините, но какой-никакой базис должен быть. Оставьте в покое С++, вернитесь к Кернигану-Ричи. Если я увижу, что вы будете задавать более осмысленные вопросы, готов этот же пример (который я накропал) построчно прокомментировать и снова вам предложить. Но на данном этапе, мне кажется, и этого будет мало. Боюсь мои комментарии потянут за собой комментарии на комментарии. И так мы дойдём до описания типов данных, операторов, функций и всего прочего, что именуется "основы языка" и отлично изложены в огромном количестве литературы. А я бы не хотел всё это пересказывать. Читайте, учите.
JFYI - я такой же "старый маразматик". Мне скоро 62. Программирую на любительском уровне. Си, Паскаль, Делфи. Кормлюсь системным администрированием. По работе Перл, Питон, ПХП, шелл-скрипты, джава-скрипты... FreeBSD, Linux, CLI многих производителей...
А ещё ведь и хобби - hamradio. В эфире с 1962 года.
И учусь, учусь, учусь... И не собираюсь останавливаться. Как много ещё непознанного
ut1wpr вне форума  
Непрочитано 21.10.2010, 23:07  
NikMih_1
Гражданин KAZUS.RU
 
Аватар для NikMih_1
 
Регистрация: 25.02.2008
Сообщений: 997
Сказал спасибо: 223
Сказали Спасибо 72 раз(а) в 58 сообщении(ях)
NikMih_1 на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от realid Посмотреть сообщение
Что значит "ёрзать"?
По инициативе СИ смещать начало массива с какой-то высокой целью, типа уменьшения кода.
Сообщение от ut1wpr Посмотреть сообщение
г8 это u8 на кириличной раскладке. Ну не переключилась клава, разве не видно, что u и г на одной клавише?
У меня на этой клавище Ц и W, так что не видно. Спасибо за разъяснение, а то башка кругом идёт. Я в общем-то уже всё понял, даже с таймером для вывода данных в порт определился - у dsPIC30 это часть 3 таймера 2/3, которая допускает чтение и запись содержимого. Получается, что мне осталось где-то найти файл dspic.h или самому его написать или писать всё в ассемблере. Слава Богу, я уже не боюсь этого слова, поскольку система комманд процессора и есть ассемблер. Возни много, но результат гарантирован при моём воловьем упрямстве
NikMih_1 вне форума  
Непрочитано 21.10.2010, 23:16  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вопросы от NikMih_1

Сообщение от NikMih_1 Посмотреть сообщение
Слава Богу, я уже не боюсь этого слова, поскольку система комманд процессора и есть ассемблер.
Набор инструкций это набор. Ассемблер это "компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке."

Не тот компилятор вы выбрали. Говорил вам, скачивайте MCC30 (C30). Сказали что уже стоит, а во всех постах упоминаете Hi-tech.
realid вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по PROTEUS-у Advanced_LAMER Proteus 372 19.09.2021 01:20
Вопросы ENC28J60 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 123 02.04.2018 22:30
Wiznet W7100. Общие вопросы R_N Микроконтроллеры, АЦП, память и т.д 7 06.06.2012 00:33
Вопросы по AVR-LIBС rear Микроконтроллеры, АЦП, память и т.д 5 08.10.2010 19:38
Вопросы об управлении MOSFET'ами в стабах Vadeg Электроника - это просто 14 19.12.2009 23:21


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


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