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

 
 
> Исходники программ и библиотек, у вас есть чем поделиться?
Waso
сообщение Dec 19 2005, 16:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Предлагаю сюда скидывать (кому не жалко) свои инклюды для работы с периферийными устройствами, предназначенные для работы в IAR. Дело в том, что например для WinAVR такую библиотеку можно найти в сети. CodeVision имеет свою библиотеку. А ИАР этим не богат. Приходится либо писать свое с нуля, либо переделывать то что есть. Гемора в этих двух занятиях поровну.
Самому мне правда пока нечего выкинуь. Наоборот, нужны исходники для стандартного текстового ЖКИ-дисплея, клавиатуры 4х4, АЦП, ШИМ и пользовательского интерфейса. Так как с ИАРом (и вообще с Си) только знакомлюсь - дело идет медленно.
Go to the top of the page
 
+Quote Post
13 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
haker_fox
сообщение Dec 20 2005, 01:03
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Может быть сюда вообще выкладывать различные подпрограммы, для работы не только с периферией, но и например математику, сортировку, обработку данных и т.п.

Для "затравки" хочу выложить свое скромное творчество:
CRC8.ZIP - модуль для подсчета CRC8 по табличному способу (накажут меня модераторы, я уже где-то этот модуль выкладывал).
MT_10T7.ZIP - модуль для работы с дисплеем MT-10T7 фирмы "МЭЛТ" (ЖКИ 10 семисегментных знакомест + контроллер управления).
RTC.ZIP - модуль программных часов, реализована проверка високосного года. Функция rtc_service() должна вызываться каждую секунду.



P.S. В этих библиотеках, как и в любой нормальной программе, есть баги, которые я еще не встречал, просто не было удобного случая smile.gif

Есть еще библиотека для работы с протоколом WAKE (http://www.spetspribor.com/support/software/wake/wake.html), если кого заинтересует, могу выложить.
Прикрепленные файлы
Прикрепленный файл  CRC8.zip ( 1.42 килобайт ) Кол-во скачиваний: 17339
Прикрепленный файл  MT_10T7.zip ( 1.91 килобайт ) Кол-во скачиваний: 17084
Прикрепленный файл  rtc.zip ( 1.64 килобайт ) Кол-во скачиваний: 16897
 


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
at90
сообщение Dec 20 2005, 06:23
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Вот библиотечка для работы с ЖКИ 16x2 и жк ht1611.
Взял здесь!
http://www.averos.narod.ru/products/8515.htm
Прикрепленные файлы
Прикрепленный файл  8515.zip ( 80.97 килобайт ) Кол-во скачиваний: 47415
 


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
at90
сообщение Dec 20 2005, 07:46
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Библиотека для работы с датафлэшем at45
Прикрепленные файлы
Прикрепленный файл  STK500_Dataflash_Routines.zip ( 27.05 килобайт ) Кол-во скачиваний: 17577
 


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
Nixon
сообщение Dec 21 2005, 08:45
Сообщение #5


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



В данном топике предлагается выкладывать различные исходные тексты программ и библиотек (как своих так и не очень smile.gif).
Приветствуется подробный стиль изложения сути предлагаемого (но только по теме twak.gif). Сами исходные тексты выкладывать лучше аттачем к сообщению или ссылкой на них. Короткие тексты (в пределах разумного) допускается публиковать прямо в теле сообщения.
Различный флейм и бессодержательные сообщения будут пресекаться на корню.

Удачи.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
at90
сообщение Dec 21 2005, 10:14
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Хороший проект с Атмеловского контеста. Вэб камера и AVR

http://www.circuitcellar.com/avr2004/wentries/A3694.zip


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
aai_m
сообщение Dec 21 2005, 13:07
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 29-11-05
Из: Донецк
Пользователь №: 11 548



Любопытное применение дисплея Siemens S65 с исходниками.

http://www.superkranz.de/christian/S65_Dis...aySoftware.html
Go to the top of the page
 
+Quote Post
Серега
сообщение Dec 24 2005, 20:31
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 14-10-05
Пользователь №: 9 660



Библиотека для 25lc640.
Прикрепленные файлы
Прикрепленный файл  25lc640.rar ( 1.65 килобайт ) Кол-во скачиваний: 15696
 
Go to the top of the page
 
+Quote Post
*SERG
сообщение Dec 26 2005, 03:14
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



много примеров и исходников
http://www.gaw.ru/html.cgi/txt/app/micros/avr/
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Dec 27 2005, 00:49
Сообщение #10


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Это архив студенческих проектов Американского университета с 1999 по 2004. Есть и радары (ИК, Ультразвук.), и GPS-приемники, и видео игры, и музыкальные синтезаторы.
http://instruct1.cit.cornell.edu/courses/e.../FinalProjects/

Тоже очень много исходников (около 300 по некоторым данным) + схемы:
http://www.avrfreaks.net

Сообщение отредактировал haker_fox - Dec 27 2005, 00:52


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Alechin
сообщение Jan 11 2006, 15:22
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 27-06-05
Из: Химки, Моск.обл.
Пользователь №: 6 334



Вот мои используемые практически в каждом проекте наработки:
1. Timer. Модуль таймеров. Использует таймер 3 (Мега128). Дискретность - 1 мсек. Предоставляет пользователю 8 таймеров, каждый из которых может быть однократным (отсчитал интервал и остановился) и циклическим (отсчитал, выставил флаг и перезапустился). По истечению каждого таймера может запускаться внешняя процедура.
2. AsyncTmr. Асинхронный таймер - использует таймер 0 в асинхронном режиме. Дискретность - 1 секунда. Функционально аналогичен предыдущему.
3. 3Wire. Драйвер шины 3-Wire (не путать с SPI!!!). Служит базой для построения драйверов устройств, подключаемых по 3-Wire (например, DS2404). Особенность - задержки подобраны под кварц 16 МГц.
4. MT12864. Драйвер графического дисплея MT12864 с набором шрифтов 6 на 8, 7 на 10 толстый и тонкий, 12 на 16 пикселов. Особенность - задержки подобраны под кварц 16 МГц.
5. PE12864. Драйвер графического дисплея PE12864 с набором шрифтов 6 на 8, 7 на 10 толстый и тонкий, 12 на 16 пикселов. Особенность - задержки подобраны под кварц 4 МГц.
Прикрепленные файлы
Прикрепленный файл  3Wire.zip ( 1.65 килобайт ) Кол-во скачиваний: 16433
Прикрепленный файл  AsyncTmr.zip ( 2.61 килобайт ) Кол-во скачиваний: 16041
Прикрепленный файл  Timer.zip ( 2.58 килобайт ) Кол-во скачиваний: 16823
Прикрепленный файл  MT12864_drv.zip ( 27.4 килобайт ) Кол-во скачиваний: 17463
Прикрепленный файл  PE12864_drv.zip ( 27.5 килобайт ) Кол-во скачиваний: 24154
 
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 18 2006, 13:24
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Написал h файл для тех кто любит записи типа 0bxxxxxxxx в АСМ
Может комуто пригодица =)Прикрепленный файл  binary_c.rar ( 1.01 килобайт ) Кол-во скачиваний: 16413
Go to the top of the page
 
+Quote Post
Мах
сообщение Jan 20 2006, 09:51
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 27
Регистрация: 13-01-06
Пользователь №: 13 122



Не столько библиотека как исходник для подключения памяти at24c256 через twi. Проверено на железе. У меня все прекрасно работает на atmega16. biggrin.gif
Исходник взят из инета.

http://nav2.livejournal.com/130205.html cool.gif
Прикрепленные файлы
Прикрепленный файл  24c256.rar ( 1.46 килобайт ) Кол-во скачиваний: 16981
 
Go to the top of the page
 
+Quote Post
Balaganov
сообщение Jan 23 2006, 17:49
Сообщение #14


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 16-02-05
Пользователь №: 2 688



Цитата(Balaganov @ Jan 19 2006, 18:01) *
Хидер задержек для IAR. Использует __delay_cycles для формирования задержек от наносекунд до секунд. В параметре CPU_CLK_Hz указать тактовую частоту в герцах.[attachment=3956:attachment]


Сори не тот файл выложил, он в принципе рабочий, но до 2 с копейками МГц. Вот последний вариантПрикрепленный файл  delay.h.txt ( 379 байт ) Кол-во скачиваний: 16475
Go to the top of the page
 
+Quote Post
Nikola Kirov
сообщение Jan 25 2006, 00:57
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



Калкулатор boudrate для Usarta.
Не нашел готовъи вариант и написал ета прога. Думаю кто то поможет.

p.s
Ест какои то проблем с закачки фаилов в форуме. exe,rar,zip не хочет принимат.
Ето rar которъй переименовал на txt. Поменяите рзширение.
Прикрепленные файлы
Прикрепленный файл  BoudRateCalkulator.txt ( 17.21 килобайт ) Кол-во скачиваний: 14933
 
Go to the top of the page
 
+Quote Post
afe
сообщение Jan 25 2006, 22:48
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 94
Регистрация: 4-05-05
Из: Харьков
Пользователь №: 4 740



Както не хватает:

http://hubbard.engr.scu.edu/avr/avrlib/

[b]Procyon AVRlib Overview[/b]
General AVR Built-In Peripheral Drivers
  • Byte Buffering (circular)
  • Bit Buffering (linear)
  • Printf and other formatted print functions
  • VT100 Terminal Output
  • Command Line Interface
  • FAT16/32 File System (support is read-only for now)
  • STX/ETX Packet Protocol
  • Fixed-Point Math Library (basic operations only)
  • Timers (with PWM, interrupt management)
  • UART (interrupt driven)
  • A/D Converter
  • I2C Master/Slave (interrupt and non-intr)
  • SPI Interface
  • External Interrupts
External Hardware Device Drivers AVR Software-Emulated Devices
  • Character LCD Modules (HD44780-based)
  • I2C EEPROM Memories
  • SPI EEPROM Memories
  • MMC/SD Card Interface (SPI mode)
  • LIS3L02 ST Accelerometer
  • IDE/ATA Interface (for hard disks and CF cards)
  • Quadrature Encoders
  • RC-Servos (up to 8 channels)
  • STA013 MP3 Decoder Chip
  • GPS Receivers (via serial port)
    • NMEA-0813 Protocol
    • Trimble TSIP Protocol
  • Graphic LCD Modules
    • KS0108/HD61202 Controller
    • T6963 Controller
    • LCD Fonts and Symbols
  • I2c Master (Bit-Bang)
  • UART (software-based, timer interrupt driven)
  • Pulse Output (timer-based, variable frequency)
  • Intel-type Memory Bus (Address & Data Buses + nRD,nWR)
Network Support
  • Device Drivers
    • RTL8019 Ethernet
    • AX88796 Ethernet
    • CS8900 Ethernet
    • Prism2 Wireless LAN
  • Network Protocols
    • ARP
    • ICMP
    • IP
    • UDP
    • DHCP
  • Network Stack infrastructure


--------------------
SY AfE
Go to the top of the page
 
+Quote Post
Proton
сообщение Jan 29 2006, 17:50
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334



Преобразователь *.ebn в *.hex. Хоть таких файлов и не очень много(jtagice,stk500), может кому-нибудь пригодиться. Замечания и предложения слать в личку.
Прикрепленный файл  EBN2HEX.rar.txt ( 34.29 килобайт ) Кол-во скачиваний: 22830
файл переименовать в EBN2HEX.rar


--------------------
Всяк хорошая мысля к нам приходит опосля.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 3 2006, 09:36
Сообщение #18


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Прошу оценить мое сромное творчество, буду признателен, если сообщите о багах...

P.S.
i2c_soft_and_hardware.zip - там лежит драйвер как для TWI, так и программная реализация I2C, могут работать одновременно... что и реализовано в моем проекте.
Прикрепленные файлы
Прикрепленный файл  ds18b20.zip ( 2.01 килобайт ) Кол-во скачиваний: 18949
Прикрепленный файл  ds1307.zip ( 1.39 килобайт ) Кол-во скачиваний: 17470
Прикрепленный файл  i2c_soft_and_hardware.zip ( 2.57 килобайт ) Кол-во скачиваний: 19025
 


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ЛЕСЯ
сообщение Feb 6 2006, 11:37
Сообщение #19


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-06
Из: Старый Оскол
Пользователь №: 12 994



haker_fox Как насчет выложить библтотеку для работы с протоколом WAKE?
Цитата
Есть еще библиотека для работы с протоколом WAKE (http://www.spetspribor.com/support/software/wake/wake.html), если кого заинтересует, могу выложить.
Цитата
Есть еще библиотека для работы с протоколом WAKE (http://www.spetspribor.com/support/software/wake/wake.html), если кого заинтересует, могу выложить.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Feb 6 2006, 17:41
Сообщение #20


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(afe @ Jan 26 2006, 01:48) *
...Procyon AVRlib...
В тонкости не вдавался, но это сильно похоже на эту либу для LPC2xxx
http://hubbard.engr.scu.edu/embedded/arm/armlib/
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 7 2006, 00:19
Сообщение #21


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(ЛЕСЯ @ Feb 6 2006, 19:37) *
haker_fox Как насчет выложить библтотеку для работы с протоколом WAKE?
Цитата
Есть еще библиотека для работы с протоколом WAKE (http://www.spetspribor.com/support/software/wake/wake.html), если кого заинтересует, могу выложить.
Цитата
Есть еще библиотека для работы с протоколом WAKE (http://www.spetspribor.com/support/software/wake/wake.html), если кого заинтересует, могу выложить.



Выкладываю... НО, там помимо самой реализации протокола, есть еще и команды, которые мой девайс выполняет по указанию компьютера, на них можно не обращать внимания. Вырезать не стал, дабы нечайно не попортить исходник. Сразу скажу, что в том виде, в котором модуль выложен, он работать не будет, т.к. часть программных счетчиков считается в другом модуле, где обрабатываются прерывания, да и ввел я их сам, для тайм-аутов... В общем исходники только для пояснения общей сути, за более подробным объяснением сюда http://www.spetspribor.com/support/software/wake/wake.html.
В крайнем случае, если что, можно в PM спросить.
Прикрепленные файлы
Прикрепленный файл  wake.zip ( 7.03 килобайт ) Кол-во скачиваний: 15301
 


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
alm_
сообщение Feb 16 2006, 09:50
Сообщение #22


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Модуль для работы с текстовым дисплеем 16x2

При всей изученности (если не сказать избитости) темы хочу предложить свое решение. Его особенности:
- для использования в своем проекте достаточно переписать функции чтени/записи данных и чтения команд с контроллера индикатора
- перекодировка из кодовой таблицы 1251 происходит runtime, так что можно вводить текстовые строки в своей привычной кодировке
- предварительный буфер дисплея можно заполнять, используя форматированный вывод sprintf
- для записи обработанных данных в контроллер дисплея достаточно вызывать быструю подпрограмму только в одном месте (прерывании таймера с частотой около 34 Гц)
- не загружает параллельные задачи (например подсчёт входных импульсов)
Прикрепленные файлы
Прикрепленный файл  buff16x2.txt ( 4.88 килобайт ) Кол-во скачиваний: 16845
 
Go to the top of the page
 
+Quote Post
alm_
сообщение Feb 16 2006, 11:20
Сообщение #23


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Расчёт CRC16
- на С с оптимизацией по скорости (таблица 512 байт)
- на С с оптимизацией по длине
- на Pascal/Delphi
Прикрепленные файлы
Прикрепленный файл  crc16.zip ( 2.31 килобайт ) Кол-во скачиваний: 15921
 
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Mar 7 2006, 08:25
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Вылаживаю подпрограмму (Div24.asm) для беззнакового делени 24-х битного числа.
Используется хороший алгоритм, работает быстро. Коечто можно упростить.
Прикрепленные файлы
Прикрепленный файл  Div24.zip ( 1.56 килобайт ) Кол-во скачиваний: 15937
 
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 2 2006, 10:27
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



В одном из моих проектов было много устройств I2C и I2C - подобных (АЦП, ЦАП, 24сХХ и тд). Необходима была также клавиатура и дисплей. А ножек контроллера катострофически не хватало.
Короче я разработал на at90s2313 устройство I2C Дисплей-клавиатура-динамик-светодиоды. Изделие получилось на редкость удачное. И я его использовал неоднократно. Один экземпляр оставил себе. Использую для отладки.
Опишу преимущества:
1) Функционально законченный блок не требующий отладки. (У меня это плата на которой запаяны клавиатура, дисплей, схема управления, I2C память, выходной разъём)
2) Занимает малое число ног основного контроллера. Частично разгружает основной контроллер.
3) Можно выбрать кодовую таблицу символов (DOS/WIN). Таким образом программа основного микроконтроллера становится более наглядна.
4) Имеются команды управления дисплеем, - прямая адресация курсора; очистка дисплея; различные звуковые сигналы.
5) Низкая стоимость микросхем обвязки.
6) Обслуживание клавиатуры опросом и по прерыванию.
7) Простота реализации I2C интерфейса позволяет быстро включить данное устройство в свой проект.
Если есть интерес, то я могу опубликовать данный проект. smile.gif
Прикрепленные файлы
Прикрепленный файл  ________________.doc ( 74 килобайт ) Кол-во скачиваний: 18920
 
Go to the top of the page
 
+Quote Post
Aquatik
сообщение Apr 3 2006, 06:45
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 24-05-05
Из: Москва
Пользователь №: 5 354



SasaVitebsk опубликуй.. Очень хотелось бы посмотреть, для развития. Иногда возникала такая же ситуация с большим количеством i2c, решалось схемным путем... Заранее благодарен..


--------------------
BST RGDS,
Aquatik...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 3 2006, 21:41
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Заранее извиняюсь. Всё это начиналось давно. Только появились 2313. smile.gif Схема у меня не сохранилась восстановил по памяти и программе. Проект был на avr studio 3. smile.gif

Короче перекомпильнул поновый. Может огрехи какие спрашивайте.

По схеме заметки.
1) От резета BOD. Я его не рисовал. Если возьмёте tiny2313, то он вааще не нужен.
2) Элемента "клава" я не нашёл, - поставил разъём на схеме. Клава стандартная 4х4. 4 верхних на перебор, 4 нижних на опрос.
3) Регистр типа ИР33,37 или ИР22,23.
4) Я ставил кварц 11059, хотя можно и 10М
5) Обычная ЗП-эшка
6) Озу 24сХХ стоят для примера. На плате были, хотя и не всегда запаивались
7) Индикатор любой на 44780

Существует более поздний вариант на mega8. Он без доп элементов.

Чуть позже скину прогу для PC для тестирования

Чёто не влезло. Высылаю остальное
Прикрепленные файлы
Прикрепленный файл  pult2313.sch ( 147.21 килобайт ) Кол-во скачиваний: 16412
Прикрепленный файл  pult.rar ( 172.19 килобайт ) Кол-во скачиваний: 16832
 
Go to the top of the page
 
+Quote Post
vesago
сообщение Apr 6 2006, 10:50
Сообщение #28


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



SasaVitebsk будь так любезен - выложи схемку в пдф или картинкой.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 6 2006, 20:14
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Схема была в EAGLE для быстроты. Мелочи не рисовал, - они понятны. Если не понятны можете писать на мыло sasa@c32dvina.com или завести топик в основном разделе, чтобы этот не загромождать. Да ещё пару моментов. Чтобы testi2c работала необходимо для xp поместить файл smport.sys в system32, для 95/98 smport.vxd в system. smile.gif Сразу подзабыл, - добавил.
Выбрать в проекте LPT1 и запаять SDA - 37a.0, 379.7; SCL - 37a.1
Прикрепленные файлы
Прикрепленный файл  pult.rar ( 23.85 килобайт ) Кол-во скачиваний: 16369
 
Go to the top of the page
 
+Quote Post
GOP
сообщение Apr 17 2006, 15:43
Сообщение #30





Группа: Новичок
Сообщений: 2
Регистрация: 17-04-06
Пользователь №: 16 208



Еще библиотека для разработчика есть практически все.

http://hubbard.engr.scu.edu/embedded/avr/avrlib/

Всем удачи!!!
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 20 2006, 20:36
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



По просьбам трудящихся выкладываю дополнительно по теме пульт i2c:

1) Схема присоединения к LPT порту PC
2) Библиотека для использования для AVR и 8051

Библиотеки правда не очень. smile.gif Я обычно в проект вкладываю. Теперь выдирать пришлось. Возможно чего-нибудь покалечил. smile.gif Но вроде там всё просто сами доработаете. Или на мыло пишите. smile.gif

Сообщение отредактировал SasaVitebsk - Apr 20 2006, 20:37
Прикрепленные файлы
Прикрепленный файл  bibl.rar ( 10.35 килобайт ) Кол-во скачиваний: 15205
 
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 22 2006, 14:46
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Выкладываю драйвер USARTа на Си, использующий кольцевые FIFO буферы. В принципе ничего нового, подобное где то есть, может даже в аппликухах Atmel, и я не претендую на изобретение чего то нового. Но может кому пригодится. Много удобных #define)))
Прикрепленные файлы
Прикрепленный файл  USART.Driver.rar ( 4.7 килобайт ) Кол-во скачиваний: 16943
 


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение May 23 2006, 05:16
Сообщение #33


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Программный full-duplex UART для ATtiny13. С внутренним осциллятором 9.6Mhz обеспечивает работу UART'a на скоростях 9600/19200/38400. Имеется возможность раздельной инверсии линий Tx и Rx, что позволяет откзаться от применения преобразователей уровней RS-TTL. Присоединенный проект демонстрирует эхотерминал на скорости 38400, подключение к COM порту показано на прикрепленном рисунке.
Прикрепленные изображения
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Software_uart.zip ( 6.24 килобайт ) Кол-во скачиваний: 22522
 
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 30 2006, 14:15
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Привет всем!



Стартовый исходник для символьных ЖКИ на основе HD44780. С помощью многочисленных #define перестраивается под любой мыслимый дисплей на основе HD44780 (только с одним чипом!, т.е кроме индикаторов 4х40). В исходнике только примитивы - отправить команду, прочитать статус, отправить данные, прочитать данные. Вполне достаточно, что бы приступить к плодотворной работе с дисплеем без экспериментов. Поддерживает 4-х и 8-и битную шину данных... Сварено на IAR C for AVR 4.10B. Как всегда, мои подробнейшие комментарии)))
Прикрепленные файлы
Прикрепленный файл  HD44780src.ZIP ( 4.68 килобайт ) Кол-во скачиваний: 17956
 


--------------------
Go to the top of the page
 
+Quote Post
aleksey_g
сообщение May 30 2006, 15:37
Сообщение #35


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066



Цитата(prottoss @ May 30 2006, 17:15) *
Привет всем!
Стартовый исходник для символьных ЖКИ на основе HD44780.


Красиво! Молодец. Хорошо постарался!
Но рассчитывать задержки вручную?
Не лучше ли так:
#define XTALL 16.0
#define delay_us(us) __delay_cycles (XTALL * us);
#define delay_ms(ms) delay_us (1000 * ms)
По моему было бы еще удобнее.
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 30 2006, 15:50
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aleksey_g @ May 30 2006, 23:37) *
Цитата(prottoss @ May 30 2006, 17:15) *

Привет всем!
Стартовый исходник для символьных ЖКИ на основе HD44780.


Красиво! Молодец. Хорошо постарался!


Спасибо...)

Цитата(aleksey_g @ May 30 2006, 23:37) *
Но рассчитывать задержки вручную?
Не лучше ли так:
#define XTALL 16.0
#define delay_us(us) __delay_cycles (XTALL * us);
#define delay_ms(ms) delay_us (1000 * ms)
По моему было бы еще удобнее.


Может быть так и лучше)


--------------------
Go to the top of the page
 
+Quote Post
agnedbay
сообщение Jun 9 2006, 11:32
Сообщение #37





Группа: Новичок
Сообщений: 10
Регистрация: 22-03-05
Пользователь №: 3 592



Вот поляк выложил аппаратный TWI для управления LCD (CVAVR)
http://lcd.strony.pl/d-104v1.htm
Проверял нужные для меня (делал 2 i2c аппаратный и программный) куски кода все работает.
А вот взагали http://lcd.strony.pl/ что есть.
Хоть и по польски, но понятно.
Go to the top of the page
 
+Quote Post
Stas633
сообщение Jul 1 2006, 07:47
Сообщение #38


Частый гость
**

Группа: Свой
Сообщений: 105
Регистрация: 6-01-06
Пользователь №: 12 901



Не смог найти готового, поэтому сделал свое....

Бегущая строка для HD44780 на Си. Выполнено в CV_AVR...

Файл в формате .html, так как пояснений больше чем собственно кода...

Прикрепленный файл  beg_stroka.rar ( 2.6 килобайт ) Кол-во скачиваний: 17269
Go to the top of the page
 
+Quote Post
TamTam
сообщение Jul 6 2006, 07:00
Сообщение #39


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Библиотека и модель в PROTEUSE 6.9. sp4 для подключения HD44780 всего по 3 проводам с использованием сдвигового регистра 74HC164 МК. Компилятор CodeVisionAVR
Отбельная благодарность за помощь в понимание и написание программы:
1. rat - описание работы с HD44780
2. otrog - правка кода и правильный загон строк в регистр
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  3_wire_lcd.rar ( 48.94 килобайт ) Кол-во скачиваний: 17534
 
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 31 2006, 18:41
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Wladimir_TS @ Aug 26 2006, 10:58) *
Не уверен уместно-ли здесь просить какие - либо исходники, но я попробую:

Необходима процедура вычисления логарифма с произвольным целым рснованием в диапазоне 2-10. Режим вычислений - с фиксированной точкой. требование - минимальный занимаемый объем.

Ну очень надо - может кто ссылки где видел. help.gif


Нашёл у себя математику для 8051. Но переписать несложно.
Прикрепленные файлы
Прикрепленный файл  MATHLIB.rar ( 10.28 килобайт ) Кол-во скачиваний: 14688
 
Go to the top of the page
 
+Quote Post
andr_doy
сообщение Sep 19 2006, 04:42
Сообщение #41


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 12-09-06
Пользователь №: 20 300



RkLibAvr
Польская библиотека
http://robkry.freepgs.com/?q=node/4
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 28 2006, 00:35
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Например при обработке сложного последовательного протокола происходит "прокол". Как его найти? У меня есть стенд(а если не подходит стандартный, то делаю новый). И я с МК сливаю данные на PC до 8 битов (например 2 последовательных канала приём/передача). Обычно мл.битом вперёд хотя прога может и повернуть. Итак я записываю данные в файл например 100Mb.

А дальше спокойно просматриваю что происходит и где прокол. Можно искать нужные места. Ставить метки. Измерять длительность участка. Копировать и сравнивать. Можно запоминать адрес в файле (смещение от начала файла). Мне это помогало, когда данные скрэмблированные. Можно просматривать файл до и после обработки. Можно подписывать лучи и сохранять карточку. И хранить такой протокол. Чтобы в любой момент его просмотреть. Помойму где-то у меня лежит карточка телефонного автомата. smile.gif А где-то и 2323 лежит которая легко с ним общается. smile.gif

Использовал и для аналоговых данных. Хоть и не для этого делалось.
Прикрепленные файлы
Прикрепленный файл  Osc.zip ( 255.4 килобайт ) Кол-во скачиваний: 15458
 
Go to the top of the page
 
+Quote Post
Георгий
сообщение Sep 28 2006, 04:31
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



To SasaVitebsk:
Я все таки не отказался бы от исходников пргии со стороны РС, времени нет просто сейчас разбираться. На оформление и прочие возможные огрехи закрою глаза, прекрасно понимаю, что такое тестовая программа , быстро накиданная под себя.
Можно в мыло gsb@gsb.kirov.ru

Осциллограф цифровой на компе я тоже писал, удобная штука. Я с его помощью разобрал протоколы обмена с клавиатурой, IR протоколы.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 28 2006, 19:41
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(vesago @ Sep 28 2006, 12:11) *
To SasaVitebsk:
Я так понял ваша программа пишет данные по битам 0 - 7 LPT порта. А драйвер какой надо для XP?


Драйвера то есть. Но на счёт пишет я другой пользуюсь. Обычно. Там описание есть маленькое. smile.gif Драйвера я в пульте выкладывал. smport.vxd, smport.sys
Прикрепленные файлы
Прикрепленный файл  St01.rar ( 177.84 килобайт ) Кол-во скачиваний: 14673
 
Go to the top of the page
 
+Quote Post
kamedi_clab
сообщение Oct 8 2006, 17:01
Сообщение #45


Местный
***

Группа: Новичок
Сообщений: 239
Регистрация: 5-10-06
Пользователь №: 21 004



Шаблон для быстрого программирования в CVAVR и отладки в VMLAB

В шаблоне содержится папка с проектми для компилятора CVAVR и симулятора VMLAB. Можно сразу запустить симуляцию в VMLAB программы выводящей сообщения на ПК и мигающей светодиодами.
Можно изменить программу под ваши нужды в компиляторе CVAVR - при этом удобно использовать генератор кода компилятора. После отладки окончательного варианта программы в симуляторе вы можете прошить МК прямо из компилятора CVAVR. Во время работы удобно одновременно запустить и CVAVR и VMLAB.
Прикрепленные файлы
Прикрепленный файл  codevisionavr_vmlab.rar ( 6.13 килобайт ) Кол-во скачиваний: 14035
 
Go to the top of the page
 
+Quote Post
VitPushchin
сообщение Oct 23 2006, 14:23
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 13-10-05
Пользователь №: 9 568



А вот приемник ИК пульта от Самсунга (кодировка типа NEC, но со своими особенностями).
Работает на АТтини2313, у меня - 11.059 мгц кварц. Собственно, по сорсам все понятно должно быть.
Прикрепленные файлы
Прикрепленный файл  RemoconCtrl.rar ( 1.83 килобайт ) Кол-во скачиваний: 14409
 
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 21 2006, 00:01
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Свой вариант библиотек LCD44780 и DS1820.

Очень понравился по стилю написания вариант работы с HD44780 от protoss, но как мне кажется он не полный. Выкладываю свой. Думаю уважаемый protoss им не воспользуется, а вот начинающие - возможно. Также вариант библиотеки для работы с DS18x20.

Возможности LCD44780. Есть вторичный вывод. Вывод символа в Win кодировке, прямая адресация курсора, сплитер и др. Поддерживаются стандартные п/п printf и outs вместе с форматированием. Форматирование расширено что позваляет легко делать меню.

Возможности DS18x20. Позволяет подключать несколько датчиков DS1820/18b20/18s20 в любом сочетании. Позволяет динамически определять их колличество и подключать новые. Позволяет работать с ними по 2-ух проводной шине.
Прикрепленные файлы
Прикрепленный файл  ds1820.zip ( 4.51 килобайт ) Кол-во скачиваний: 16120
Прикрепленный файл  HD44780.zip ( 5.85 килобайт ) Кол-во скачиваний: 15899
 
Go to the top of the page
 
+Quote Post
Screw
сообщение Nov 29 2006, 22:08
Сообщение #48


Частый гость
**

Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916



Здравствуйте!

Я вот тут решил зарегистрироваться и кое чем поделиться, ибо искал это кое что.... долго wink.gif

А именно - исходник инициализации и работы с LCD МТ-16s2 фирмы МЭЛТ по 4-х проводному интерфейсу. Написано под WinAvr, но я за 5 минут переделал под CVAVR.
Выкладываю оригинал (надеюсь автор не будет против).

Вся бякость этого LCD состоит в том, что он не совсем аналог HD44780 wink.gif

Сообщение отредактировал Screw - Nov 29 2006, 22:10
Прикрепленные файлы
Прикрепленный файл  TextLCD_2.zip ( 9.05 килобайт ) Кол-во скачиваний: 14276
 
Go to the top of the page
 
+Quote Post
yarunt
сообщение Jan 4 2007, 12:14
Сообщение #49


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Если кому интересно ,как я поборол жки нокиа3510и.
Прикрепленные файлы
Прикрепленный файл  farblcd.rar ( 23.83 килобайт ) Кол-во скачиваний: 8615
 


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
kuber
сообщение Jan 8 2007, 23:03
Сообщение #50


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153



Проект на Pic
MASTER-Pic16f628
Slave - Pic12f629

Monitor 2 Wire 7Adr Led

Устройство состоит из блока графической индикации 5х8 точек с формирователем 2 проводной линии связи с адресными устройствами.
Питание адресников осуществляется по тойже линии связи.
Каждый адресник имеет 2 входа замыкаемые на массу.
Блок индикации обслуживает 8 адресных устройств.
Индикация, наличие адресного устройство на линии, и о замыкании у адресного устройства входных линий на землю.
Адресники могут содержать фиксированный адрес 0-7,
или вариант адресника с 3 перемычками задающий адрес устройства.
Блок индикации является MASTEROM на линиа а адресники SLAVE.
Начало обмена- команда сброс для всех адресников, далее пакет из 4 байт.
1 -адрес устройства
2 -код команды (чтение или запись из адресника)
3 -байт данттых
4 -CRC8 контрольная сумма.


Мастер посылает пакет адреснику и читает ответ с линии и проверяя CRC пакета, если CRC не совпадает, MASTER повторяет посылку ещё 2 раза.
Если, нет то считается что адресника нет.


Весь проект с схемами, фотками и файлами -ASM,HEX

Мажет пригодится кому нибудь.
aralgen@mail.ru
Прикрепленные файлы
Прикрепленный файл  arxiv.rar ( 80.49 килобайт ) Кол-во скачиваний: 1662
 
Go to the top of the page
 
+Quote Post
Шалапут:-)
сообщение Jan 11 2007, 04:56
Сообщение #51


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 11-01-07
Пользователь №: 24 303



Поделюсь своим кодом на Ассме для организации меню на буквенно цифровом дисплее HD4478 16х2.. В программе реализована отправка строк с флеш памяти. При нажатии одной из 4 кнопок происходит прерывание Int_1, затем его обработка (со звуковым сигналом). Куда подключать кнопки и дисплей, ясно из программы, динамик-через усилительный транзистор
Расчитано для работы на 4 МГц кварце. Для приминения на других частотах кварца нужно просто поменять значение, заносимое в рег r20
DELAY20MS:
wdr; sbros storozhevogo timera (mozhno zapreshat' ego raboty)
LDI R20,110; Сюда (20=1МГц, 40=2 и.т.д)
d20:
dec r20
...
если что неясно, пишите kadrum@narod.ru или ICQ#: 191-851-131
smile3046.gif

код для HD 4478 здесь

Сообщение отредактировал Шалапут:-) - Jan 11 2007, 05:09
Прикрепленные файлы
Прикрепленный файл  menu_HD4478.zip ( 5.48 килобайт ) Кол-во скачиваний: 2486
 


--------------------
Роботы делают роботов - предел автоматизации
Go to the top of the page
 
+Quote Post
Yuriy_AVR
сообщение Jan 16 2007, 20:08
Сообщение #52


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 12-01-07
Из: Крым
Пользователь №: 24 378



Может кому будет полезно очень быстрое преобразование двоичного ( 4-х байтного ) числа в двоично-десятичное число . Собственный алгоритм . Взято из рабочей программы ; некогда было окультуривать. Вполне можно перенести на Си . Очень удобно когда есть неоходимость , например , вывода на экран каких либо значений , которые считаются внутри в двоичном виде .
Прикрепленные файлы
Прикрепленный файл  Bin32BCD8.rar ( 400 байт ) Кол-во скачиваний: 2303
 
Go to the top of the page
 
+Quote Post
Fakir
сообщение Jan 18 2007, 11:55
Сообщение #53


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 21-04-05
Пользователь №: 4 350



на телесисах пробегала сылка на коллекцию исходников: http://faq.embedders.org/_examples_code/
и документации: http://lord-n.narod.ru/walla.html#faqembedders
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 21 2007, 01:19
Сообщение #54


Гуру
******

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



Часто появляются вопросы об удобном доступе к ножкам порта. Несколько раз выкладывал в разных темах очень удобные (как мне кажется) макросы. Решил выложить здесь наиболее свежую версию, чтобы потом долго не искать. Пользоваться ими так:
Код
#define LED1    PORTC,2,H   // output, active high (led from PC2 to GND)
#define LED2    PORTD,3,L   // output, active low (led from Vcc to PD3)
#define KEY1    PINB,5,L    // input, active low (key from PB5 to GND, pull-up resistor)
#define KEY2    PINC,7,H    // input, active high (key from Vcc to PC7, pull-down resistor)

#include "ascold.h"
unsigned char Key1Status;
unsigned char Key2Status;
void main() {
    Key1Status = signal(KEY1);
    Key2Status = signal(KEY2);
    for(;;) {
        cpl(LED1);          // toggle LED1
        if(signal(KEY1))    // if KEY1 pressed, turn on LED2
            on(LED2);
        else                // otherwice turn off LED2
            off(LED2);
    }
}}

Если в результате переразводки вывод поменялся, достаточно изменить лишь одну строчку #define

Я использую с компилятором IAR для процессоров AVR, MSP430, AT91SAM7, LPC2xxx, ADuC70xx. Но они должны работать и с любым другим компиляторм.
Прикрепленные файлы
Прикрепленный файл  ascold.zip ( 1.15 килобайт ) Кол-во скачиваний: 2506
 


--------------------
На любой вопрос даю любой ответ
"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
ReAl
сообщение Jan 22 2007, 14:42
Сообщение #55


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Сергей Борщ @ Jan 21 2007, 00:19) *
очень удобные (как мне кажется) макросы.

Я тоже ими пользуюсь очень давно :-)
Только signal() переименовал сразу же в bit_active() (ну и все остальные в bit_on/bit_off для однообразия).
После какого-то давнего залёта со своей переменной с именем errno в борландовском С - не рискую применять имена, могущие пересечься с чем-то "очень стандартным".


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение Jan 30 2007, 16:34
Сообщение #56


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Код
(*
   Вычисление дня недели в приложениях автоматического вычисления
   дня недели в датах от 1996 года и старше.

   Copyright (C) Sergei Frolov, 1998.   v1.0  Jan, 4, 1998.

   Программа ориентирована на применение в приложениях, написанных
   на языке ассемблера без использования аппаратного умножения/деления
   и операций с плавающей запятой.
*)

program denned;
const
  YEARS  : array[0.. 3] of byte = (0, 2, 3, 4);
  MONTHS : array[1..12] of byte = (0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5);
  DAYOFWEEKS  : array[0..6] of string =
    ('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг',
     'Пятница', 'Суббота');
var
  a, b, c, d, e, f, tmp : byte;
  day, month, year      : word;

begin
  repeat
    write('Число XX -> ');    readln(day);
    if day = 0 then break; { выход }
    write('Месяц XX -> ');    readln(month);
    write('Год XXXX -> ');    readln(year);
    tmp := year - 1996;
    a := tmp and 3;
    b := (tmp shr 2) + (tmp and $FC);
    c := MONTHS[month];
    if (a = 0) and (month > 2) then inc(c);
    a := YEARS[a];
    e := (a + b + c + day) mod 7;
    writeln('Результат: ', DAYOFWEEKS[e]);    writeln;
  until false;
end.
Go to the top of the page
 
+Quote Post
umup
сообщение Feb 4 2007, 20:30
Сообщение #57


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Сергей Борщ
Цитата
#define LED1 PORTC,2,H // output, active high (led from PC2 to GND)

Интересно, как у вас работают программы с комментариями // в #define, или компилятор это отлавливает ?

Сообщение отредактировал umup - Feb 4 2007, 20:31
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 4 2007, 23:16
Сообщение #58


Гуру
******

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



Цитата(umup @ Feb 4 2007, 19:30) *
Сергей Борщ
Цитата

#define LED1 PORTC,2,H // output, active high (led from PC2 to GND)

Интересно, как у вас работают программы с комментариями // в #define, или компилятор это отлавливает ?
IAR не жалуется. GCC (WinAVR) тоже. Согласно http://gcc.gnu.org/onlinedocs/cpp/Initial-...tial-processing комментарии заменяются пробелами до обработки #define


--------------------
На любой вопрос даю любой ответ
"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
Сергей Борщ
сообщение Feb 21 2007, 10:20
Сообщение #59


Гуру
******

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



Цитата(svlad @ Feb 20 2007, 20:09) *
Цитата(Kuzmi4 @ Feb 20 2007, 14:21) *

2 svlad - interrupt.h и io.h надо поставить винавр тогда они появяться.
Если кому интересно могу выложить декодировку манчестера по INT0 для 8-й меги.

не уж то ни у кого нет WinAVR? smile.gif
В чем вопрос-то состоял? www.google.ru, искать по ключевому слову WinAVR. Хотя это первое, что нужно делать перед писанием в конференции.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
На любой вопрос даю любой ответ
"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
Kuzmi4
сообщение Feb 21 2007, 10:57
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Драсте всем!
В прикреплённом файле - ф-ция и интерупт с помощъю которых я ловил манчестер для эм-мариновских карт - у них манчестерская кодировка данных + хитрый протокол передачи,кому надо - может пообкусывать чё не надо.
Прикрепленные файлы
Прикрепленный файл  Shnyaga.txt ( 7.38 килобайт ) Кол-во скачиваний: 1813
 
Go to the top of the page
 
+Quote Post
megachip
сообщение Feb 24 2007, 00:53
Сообщение #61


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 13-06-05
Пользователь №: 5 967



Шрифт от Нокии 6510 анг/рус для библиотеки www.apetech.de/article.php?artId=1&nnId=10.
Прикрепленные файлы
Прикрепленный файл  nokia.rar ( 2.63 килобайт ) Кол-во скачиваний: 1427
 
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 25 2007, 16:21
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Выложил исходники своего программатора AVR910 USB.
http://pinokio3000.narod.ru/my_designs/AVR..._Programmer.htm


--------------------
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 26 2007, 15:16
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Beer - ну бывает...
Прикрепленные файлы
Прикрепленный файл  md_.txt ( 497 байт ) Кол-во скачиваний: 1463
 
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Feb 27 2007, 14:21
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Часто при работе с АЦП приходится делать таблицу пересчёта. Например когда датчик нелинейный или когда точность надо повысить. Кроме того иногда приходится применять те или иные механизмы. Например (как в моём случае) шаговый двигатель со стрелкой. Или простой ШД. В этом случае значение АЦП должно непосредственно указывать на положение стрелки (или механизма).

Короче так или иначе, но приходится СОЗДАВАТЬ ТАБЛИЦУ ПЕРЕСЧЁТА. smile.gif Иногда она неясна. То есть не поддаётся строгому математическому моделированию. Конечно, наверное здесь поможет знание такого пакета как MATHCAD, но иногда просто устаёшь от непрерывного изучения вспомогательных пакетов. Я не люблю бегло ознакамливаться, а изучать толково - банально не хватает времени.

Короче в моём случае, я как правило, сажусь и пишу небольшую вспомогательную программку. Имея исходники, при необходимости модифицирую её под конкретную задачу. Таким образом общее число таких программок перевалило уже сотни за 3. smile.gif
Со временем оказывается, что к некоторым програмкам обращаешься не один раз. (В частности к этой). Поэтому прилагаешь некоторые усилия для оптимизации её и так сказать завершённости.

Итак данная программа:
1) по нескольким точкам создаёт таблицу
2) Позволяет её сохранить в виде файла или текста
3) Позволяет её вывести в виде графика (для визуального контроля)
4) Позволяет слегка корректировать
5) Позволяет сгладить с помощью квадратичной интерполяции
Прикрепленные файлы
Прикрепленный файл  Traktor_dw.zip ( 237.09 килобайт ) Кол-во скачиваний: 2773
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 27 2007, 15:30
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



оки... сча вот порылся , нашёл проэкт.. сча заттачу усе ф-ции - пользуйтесь,разбирайтесь.Хотя мож коряво написаны - но писал давно, работают и ладно...
файл который - "файл.Х" то там только объявы чтоб легче было...СОбсно:
/*****************************************************************************
Types definitions
******************************************************************************/
#define UCHAR unsigned char
#define UINT unsigned int
#define ULONG unsigned long
#define BOOL UCHAR
#define FALSE 0
#define TRUE 1

Сообщение отредактировал Kuzmi4 - Feb 27 2007, 15:34
Прикрепленные файлы
Прикрепленный файл  pcs1.txt ( 73.3 килобайт ) Кол-во скачиваний: 1601
Прикрепленный файл  _________.pdf ( 147.51 килобайт ) Кол-во скачиваний: 4691
 
Go to the top of the page
 
+Quote Post
yarunt
сообщение Mar 20 2007, 10:22
Сообщение #66


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Цитата(Waso @ Dec 19 2005, 17:29) *
Предлагаю сюда скидывать (кому не жалко) свои инклюды для работы с периферийными устройствами, предназначенные для работы в IAR. Дело в том, что например для WinAVR такую библиотеку можно найти в сети. CodeVision имеет свою библиотеку. А ИАР этим не богат. Приходится либо писать свое с нуля, либо переделывать то что есть. Гемора в этих двух занятиях поровну.
Самому мне правда пока нечего выкинуь. Наоборот, нужны исходники для стандартного текстового ЖКИ-дисплея, клавиатуры 4х4, АЦП, ШИМ и пользовательского интерфейса. Так как с ИАРом (и вообще с Си) только знакомлюсь - дело идет медленно.

Вот хочу выложить проэктик на алгоритмбилдере 4.8 . В нём инициалиация дисплея сименс сх65 тип LS020***.
При удачной сборке должны быть 3 цветных полосы ,принажатой кнопки должен сработать позификатор и нарисовать в центре квадрат(тест на длинну проводков к дисплею).
Прикрепленные файлы
Прикрепленный файл  test_ls020.zip ( 10.81 килобайт ) Кол-во скачиваний: 1339
 


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Mar 20 2007, 11:26
Сообщение #67


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(yarunt @ Mar 20 2007, 10:22) *
Вот хочу выложить проэктик на алгоритмбилдере 4.8

В схеме включения диод повышающего конвертера для подсветки правильно нарисован? smile.gif
Go to the top of the page
 
+Quote Post
yarunt
сообщение Mar 20 2007, 12:19
Сообщение #68


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Цитата(Qwertty @ Mar 20 2007, 12:26) *
В схеме включения диод повышающего конвертера для подсветки правильно нарисован? smile.gif

ohmy.gif Диод правильно ,ошибка в том что LED_GND подключить надо на землю. Питание подсветки около 9 в.


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Mar 20 2007, 12:40
Сообщение #69


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(yarunt @ Mar 20 2007, 12:19) *
ohmy.gif Диод правильно ,ошибка в том что LED_GND подключить надо на землю. Питание подсветки около 9 в.

Правильно????? Тогда по другому спрошу - зачем нужны VT1 и L1? Если диод правильно стоит.... smile.gif

Сообщение отредактировал Qwertty - Mar 20 2007, 12:40
Go to the top of the page
 
+Quote Post
yarunt
сообщение Mar 20 2007, 12:51
Сообщение #70


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Цитата(Qwertty @ Mar 20 2007, 13:40) *
Правильно????? Тогда по другому спрошу - зачем нужны VT1 и L1? Если диод правильно стоит.... smile.gif

Да точно диод не правильно стоял smile.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
alecsvg
сообщение Mar 28 2007, 07:11
Сообщение #71


Участник
*

Группа: Свой
Сообщений: 44
Регистрация: 5-12-04
Из: Минск
Пользователь №: 1 324



Цитата(haker_fox @ Dec 20 2005, 02:03) *
Может быть сюда вообще выкладывать различные подпрограммы, для работы не только с периферией, но и например математику, сортировку, обработку данных и т.п.

Шрифты для граф.панели LCD ???help.gif help.gif
Есть панель WG12864
Интересуют русские шрифты 5х7. Где достать?
Чем сделать мультики для неё (редактор графический с промотром созданного?)
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 29 2007, 15:52
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Фонты 6х8, 8х8 в виндовой кодировке начиная с кода 0x21. Фонты пропорциональные. (Моноширинные)
Прикрепленные файлы
Прикрепленный файл  fnt0.zip ( 1.86 килобайт ) Кол-во скачиваний: 1730
 
Go to the top of the page
 
+Quote Post
acex2
сообщение Mar 29 2007, 22:44
Сообщение #73


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(SasaVitebsk @ Mar 29 2007, 16:52) *
Фонты 6х8, 8х8 в виндовой кодировке начиная с кода 0x21. Фонты пропорциональные. (Моноширинные)


Шрифт может быть или пропорциональным, или моноширинным.
Go to the top of the page
 
+Quote Post
Kolia
сообщение Mar 30 2007, 12:11
Сообщение #74


Частый гость
**

Группа: Свой
Сообщений: 188
Регистрация: 28-09-06
Из: Minsk
Пользователь №: 20 762



Додрый день

Есть архивчик программ - весит 82 Мега.
ссылка пароль::gevv

автор архива gevv - http://hyperelektronik.com/

здесь можно посмотреть картинки проектов
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Mar 30 2007, 13:51
Сообщение #75


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(Kolia @ Mar 30 2007, 13:11) *
Додрый день
Есть архивчик программ - весит 82 Мега.
ссылка пароль::gevv
автор архива gevv - http://hyperelektronik.com/
здесь можно посмотреть картинки проектов


Ктонибудь закачал ???
Если есть возможность - пожалуйста переложите куданибудь в удобный хостинг
Go to the top of the page
 
+Quote Post
xemul
сообщение Mar 30 2007, 14:04
Сообщение #76



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(DeXteR @ Mar 30 2007, 13:51) *
Ктонибудь закачал ???
Если есть возможность - пожалуйста переложите куданибудь в удобный хостинг

Через 20 минут будет в /upload/MCs/AVR/Projects/Gevv.rar
Перепаковано без пароля и странных символов в именах файлов и директорий.

.Done smile.gif
Go to the top of the page
 
+Quote Post
plan
сообщение Apr 10 2007, 08:28
Сообщение #77


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599



Привет ВСЕМ. Выкладываю рабочий проект для связи по радиоканалу (сс2500) для CVAVR.Может где-то чего нибудь криво так что сами подправите.Использовал библиотеки msp430.
Прикрепленные файлы
Прикрепленный файл  CC2500_modem.zip ( 83.55 килобайт ) Кол-во скачиваний: 2520
 
Go to the top of the page
 
+Quote Post
prottoss
сообщение Apr 10 2007, 15:37
Сообщение #78


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(VAHOO @ Apr 10 2007, 20:28) *
Привет prottoss! хочу с компилировать файл, но не компилируется
пишет #error This file should only be compiled with iccavr or aavr with processor option -v1
в чем проблема, у меня IAR v 4.21, помоги пожалуйста!
В файле stdafx.h подключен хедер io8515.h. Его лучше всего заменить на ioavr.h вот так

Код
#include <ioavr.h>


Ну и в меню Project->Options->General Options->Target выставить требуемый МК.

Enjoy!:-)


--------------------
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Apr 10 2007, 16:32
Сообщение #79


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



Цитата
Не совсем исходники, но все же:
Макросы для тех, кто работает с ассемблером + раскраска комментариев и макросов в ассемблере (AVRStudio) (копировать в .\AVR Tools\AVRStudio\Edit\)
(раскраска директив компилятьра, комментариев разными цветами после ;* ;/ ;- ;+ плюс раскраска макросов)

Не удалось присоединить файлы. Повторяю.
Прикрепленный файл  macros_v1.5.rar ( 743 байт ) Кол-во скачиваний: 1445

Прикрепленный файл  AvrStudio_asm.rar ( 1.85 килобайт ) Кол-во скачиваний: 1388
Go to the top of the page
 
+Quote Post
prottoss
сообщение Apr 11 2007, 14:00
Сообщение #80


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(VAHOO @ Apr 11 2007, 13:48) *
а "systime.h" откудо найти ???
если нетрудно отправ примерчик скажем бегушая строка,
и если написал дока для етих библиотек, тоже отправ,
я LCD подключил на PORTC , 4 бит, спасибо!
systime.h осталься по невнимательности и в данной реализации абсолютно не нужен. Примера бегущей строки нету:-) а делать влом - некада- сорри:-) В принципе не вижу трудностей и предлагаю написать самому - мне такие задачи задавали на 4-ом курсе:-))) Делал за одну пару.


--------------------
Go to the top of the page
 
+Quote Post
by-pass
сообщение Apr 13 2007, 23:01
Сообщение #81


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 13-09-05
Пользователь №: 8 518



Класс для работы с CAN контроллера AT90CAN128.
C++.
Прикрепленные файлы
Прикрепленный файл  CAN_controller_for_AT90CAN128_.rar ( 9.85 килобайт ) Кол-во скачиваний: 1831
 
Go to the top of the page
 
+Quote Post
backa
сообщение Apr 14 2007, 12:18
Сообщение #82


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Цитата(Nanobyte @ Mar 31 2007, 23:12) *
Э-э-э-хх, вот если бы залить по отдельным проектам, а то интересует 3-4 темы, а качать 82 МБ тяжко... sad.gif

__tp://www.reverseelectronics.com/AVRproject/
тут в "розницу" smile.gif по-штучно
Выбирай что нравиться и качай smile.gif

а тут фотки
__tp://www.sonsivri.com/forum/index.php?topic=2303.0
Go to the top of the page
 
+Quote Post
umup
сообщение May 15 2007, 03:22
Сообщение #83


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



вот немного :
http://umup.narod.ru/ul_c_lib.zip
Go to the top of the page
 
+Quote Post
Serg_greS
сообщение Jun 9 2007, 04:02
Сообщение #84


Частый гость
**

Группа: Новичок
Сообщений: 85
Регистрация: 13-01-05
Из: Москва
Пользователь №: 1 922



Вот нашел несколько вещей на досуге, думаю будет интересно:
на h__p://www.harbaum.org/till/index.html:
Подключение HD44780 через USB h__p://www.harbaum.org/till/lcd2usb/index.html
USB->i2c h__p://www.harbaum.org/till/i2c_tiny_usb/index.html
SPI2CF, a fast and efficient WLAN interface for the AVR h__p://www.harbaum.org/till/spi2cf/index.html

на h__p://www.ulrichradig.de/site/atmel/avr_webserver/
не немецком, но понять несложно AVR webServer - Gerдte ьber HTTP schalten

Сообщение отредактировал Serg_greS - Jun 9 2007, 04:07
Go to the top of the page
 
+Quote Post
Serg_greS
сообщение Jul 4 2007, 11:24
Сообщение #85


Частый гость
**

Группа: Новичок
Сообщений: 85
Регистрация: 13-01-05
Из: Москва
Пользователь №: 1 922



h_tp://barello.net/avrx/index.htm
AvrX is a Real Time Multitasking Kernel written for the Atmel AVR series of micro controllers
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 10 2007, 18:18
Сообщение #86


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Как то пытался использовать AVRx RTOS.
Проект сырой (есть глюки) и трудно развиваемый. Не говоря уже о переносимости.
Последние обновления были два года назад.
На мой взгляд автор утратил интерес к проекту. Тем более, что существуют много более удачных альтернатив на С/С++.
Скоростные преимущества обсуждаемого проекта на мой взгляд мизерны.
Go to the top of the page
 
+Quote Post
Serg_greS
сообщение Jul 31 2007, 09:42
Сообщение #87


Частый гость
**

Группа: Новичок
Сообщений: 85
Регистрация: 13-01-05
Из: Москва
Пользователь №: 1 922



Еще немного библиотек
h__p://www.ember.com/pdf/EM260/HAL
Код
adc.h     Sample A/D converter driver, for multiple users
button.h     Sample API functions for using push-buttons
buzzer.h     Sample API functions for playing tunes on a piezo buzzer
crc.h     Functions that provide access to cyclic redundancy check calculation
dev0470.h     Functions specific to the dev0470 breakout board
ember-types.h     Ember data type definitions
error-def.h     Return code definitions for EmberZNet stack API functions
error.h     Return codes for Ember API functions and module definitions
hal.h     Generic set of HAL includes for all platforms
iar.h     Compiler/platform-specific definitions and typedefs for the IAR AVR C compiler
led.h     Sample API funtions for controlling LEDs
micro.h     Functions common across all microcontroller-specific files
random.h     Functions that provide access to random numbers
reserved-ram.h     Memory allocations that allow for data sharing between the normally running application and bootloader
hal/micro/serial.h     Serial hardware abstraction layer interfaces
app/util/serial/serial.h     High-level serial communication functions
spi-protocol.h    Example AVR SPI Protocol implementation for interfacing with EM260
spi.h     Generic SPI manipulation routines
system-timer.h     Functions that provide access to the system clock
avr-atmega/32/system-timer.h     Functions that provide access to the system clock for ATmega32 microcontroller
uart.h     Prototypes and defines for the hardware-specific UARTs

h__p://www.ember.com/pdf/EM250/HAL/

Сообщение отредактировал Serg_greS - Jul 31 2007, 09:47
Go to the top of the page
 
+Quote Post
Serg_greS
сообщение Aug 3 2007, 11:50
Сообщение #88


Частый гость
**

Группа: Новичок
Сообщений: 85
Регистрация: 13-01-05
Из: Москва
Пользователь №: 1 922



Цитата
но как добраться к тем хэдерам

в смысле к самим реализациям? а не только прототипам?
наверное все остальное в их ИДЕ h__p://www.ember.com/products_zigbee_development_tools_debuggers.html
Стек EmberZNet предоставляется пользователям продукции Ember по запросу h__p://www.efo.ru/cgi-bin/go?2508#n21
и бесплатно (at90: Стэк Ембер как всегда даёт бесплатно.) http://electronix.ru/forum/index.php?s=&am...ost&p=95173

Сообщение отредактировал Serg_greS - Aug 3 2007, 12:49
Go to the top of the page
 
+Quote Post
dimka76
сообщение Aug 16 2007, 11:55
Сообщение #89


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



пример проекта умножения с плавающей точкой.
работает быстрее, чем стандартная Си операция благодаря использованию аппаратного умножителя.
Подходит только для серии Mega
Прикрепленные файлы
Прикрепленный файл  test_float_good_last.rar ( 46.41 килобайт ) Кол-во скачиваний: 1579
 


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Aug 17 2007, 00:16
Сообщение #90


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(dimka76 @ Aug 16 2007, 20:55) *
пример проекта умножения с плавающей точкой.
работает быстрее, чем стандартная Си операция благодаря использованию аппаратного умножителя.
Подходит только для серии Mega

bb-offtopic.gif Прошу прощения, а разве современные компиляторы не умеют использовать аппаратный умножитель? Или я Вас неверно понял?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
at90
сообщение Oct 1 2007, 06:35
Сообщение #91


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Вот куча исходников для AVR от немцев.
https://141.57.27.10/svn/avr-common-source/

http://www.ifas.htwk-leipzig.de/easytoweb/...ontent=download


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
yarunt
сообщение Oct 29 2007, 12:01
Сообщение #92


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



rc-5 на Алгоритм билдере.Может кому пригодится.
Прикрепленные файлы
Прикрепленный файл  rc5.rar ( 6.98 килобайт ) Кол-во скачиваний: 1285
 


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
Waso
сообщение Oct 31 2007, 04:06
Сообщение #93


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Выкладываю портированный мною под ИАР TCP-IP стек LwIP из демо FreeRTOS для отладочной платы AT91SAM7X-EK. Он все еще выдает некоторое количество варнингов, но они связаны с выключенным дебагом. Работает web-сервер, отвечает на пинги. Перед прошивкой нужно задать айпишники в хедере sam7_emac.h. Версия lwIP - 1.1.0. Когда попытался прикрутить более новую - удивился как много оставлено для дописывания ручками в исходниках.

Благодарю за помощь в освоении С и IAR местных гуру и особенно Сергей Борщ.
Прикрепленные файлы
Прикрепленный файл  lwIP4IAR.ZIP ( 784.67 килобайт ) Кол-во скачиваний: 3498
 
Go to the top of the page
 
+Quote Post
INT1
сообщение Oct 31 2007, 13:41
Сообщение #94


deleted
****

Группа: Свой
Сообщений: 555
Регистрация: 28-08-05
Пользователь №: 8 024



Здесь есть библиотеки для MODBUS
http://freemodbus.berlios.de/index.php
Поскольку free, то естественно WinAVR, но и не только для AVR. Прошу прощения если повторяюсь, 9стр. перелистывать неохота.
Go to the top of the page
 
+Quote Post
INT1
сообщение Nov 6 2007, 17:51
Сообщение #95


deleted
****

Группа: Свой
Сообщений: 555
Регистрация: 28-08-05
Пользователь №: 8 024



Цитата(umup @ Nov 6 2007, 15:21) *
что-то получается слишком большой размер кода. у меня RTU поместился в 500 байт Flash и 30 ОЗУ

Дело еще в том, на сколько код "откатан" в железе. Немного поизучали эту тему, но в последствии выяснилось, что в реализации всего протокола нет необходимости, а возможные коллизии обошли таймаутами. В сети попадлись вопросы в этой связИ, вот еще ветка:
http://www.fulcrum.ru/cgi-bin/bbs/mess_sel...;Sp=0&LID=0
Если Вы приаттачите свой исходик, то буду признателен.
Go to the top of the page
 
+Quote Post
umup
сообщение Nov 6 2007, 19:31
Сообщение #96


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



вот кусок :
www.ukpyr.narod.ru/mb_clp.c
правда там только функция 3, но при желании несложно добавить и другие.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 6 2007, 22:43
Сообщение #97


Гуру
******

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



Цитата(Waso @ Oct 31 2007, 06:06) *
Выкладываю портированный мною под ИАР TCP-IP стек LwIP
А как все начиналось... smile.gif
Цитата(Waso @ Dec 19 2005, 18:29) *
Предлагаю сюда скидывать
...
Самому мне правда пока нечего выкинуь. Наоборот, нужны исходники для стандартного текстового ЖКИ-дисплея, клавиатуры 4х4, АЦП, ШИМ и пользовательского интерфейса.


Пополню копилку. Даже не исходником, а полезным приемом. Навеяно несколькими вопросами в последнее время, когда "все не работает" потому что программа ушла в необъявленный обработчик прерывания. Можно поставить на все неиспользуемые обработчики заглушки, но, во-первых, это не решение, а расчалка и распорка. А во-вторых не всякий флаг прерывания сбрасывается от самого факта входа в обработчик. Т.е. попали в заглушку, вышли из нее, тут же снова попали... Заглушка позволяет локализовать проблему. Но если заглушек несколько, возникает вопрос - в какую из них попадает программа? Хорошо, если есть много свободных ног - можно в каждой заглушке махать своей ногой. Но опять же есть неудобство - искать точки на плате, куда подключиться осциллографом, и перебирать их щупом. Идея в том, чтобы использовать одну ногу, а конкретное место программы, где нога шевелится, определять по скважности генерируемого сигнала:
Код
ISR(ADC_vect)
{
    for(;;)
    {
        on(TEST);
        _nop();
        _nop();
        _nop();
        off(TEST)
    }
}
ISR(UDRE_vect)
{
    for(;;)
    {
        _nop();
        on(TEST);
        _nop();
        _nop();
        off(TEST)
    }
}
......
ISR(UDRE_vect)
{
    for(;;)
    {
        _nop();
        _nop();
        on(TEST);
        _nop();
        off(TEST)
    }
}
.......
ISR(TIMER2_COMP_vect)
{
    for(;;)
    {
        _nop();
        _nop();
        _nop();
        on(TEST);
        off(TEST)
    }
}
Отсчитать скважность можно буквально по клеткам на экране.


P.S. Тема получилась очень полезная и давно переросла подфорум AVR. Не пора ли ее переместить куда-то в более общее место?


--------------------
На любой вопрос даю любой ответ
"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
ASZ
сообщение Nov 15 2007, 06:41
Сообщение #98


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Мои 0,5 копейки:

Реализация форматированного преобразования int в ASCII-строку.
Использован алгоритм, предложенный =AVR='ом:

Код
void ltoa_fmt(long val, s_char length, u_char *buff)
{
long ltemp;
int itemp;
s_char binc,atemp;
u_char *ptr1, *ptr2;

  ptr1 = buff;

  if (val<0)
   {
     val = -val;
     *buff++ = '-';
   }

  atemp='0';
  ltemp=1000000;
    while(val >= ltemp)
    {
      atemp++;
      val-=ltemp;
    };
  if(atemp != '0')
    *buff++=atemp;
  atemp='0';
  ltemp=100000;
    while(val >= ltemp)
    {
      atemp++;
      val-=ltemp;
    };
  if(atemp != '0')
    *buff++=atemp;
  atemp='0';
  itemp=10000;
    while(val >= itemp)
    {
      atemp++;
      val-=itemp;
    };
  if(atemp != '0')
    *buff++=atemp;
  atemp='0';
  itemp=1000;
    while(val >= itemp)
    {
      atemp++;
      val-=itemp;
    };
  if(atemp != '0')
    *buff++=atemp;
  atemp='0';
  itemp=100;
    while(val >= itemp)
    {
      atemp++;
      val-=itemp;
    };
  if(atemp != '0')
    *buff++=atemp;
  atemp='0';
  binc=(char)val;
    while(binc >= 10)
    {
      atemp++;
      binc-=10;
    };
  if(atemp != '0')
    *buff++=atemp;
  binc += '0';
  *buff=binc;

  atemp = buff - ptr1 + 1;
  ptr2 = ptr1 + length-1;
  while(atemp--)
    *ptr2-- = *buff--;
  atemp = ptr2 - ptr1 + 1;
  while(atemp--)          
    *ptr2-- = ' ';
}
Go to the top of the page
 
+Quote Post
umup
сообщение Nov 15 2007, 10:35
Сообщение #99


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



bin2bcd AVR :
Код
u32 bin2bcd_u32(u32 data, u8 result_bytes) NAKED;
u32 bin2bcd_u32(u32 data, u8 result_bytes)
{asm volatile(
  "push __tmp_reg__ \n push r26 \n push r27 \n push r30 \n push r31 \n"
  "mov __tmp_reg__, %A1   \n" /*number of bytes in result*/
   "bin2bcd_u32_00:       \n" /*correct input number by left shifts*/
     "mov r31, %A0        \n"
     "mov %A0, %B0        \n"
     "mov %B0, %C0        \n"
     "mov %C0, %D0        \n"
     "mov %D0, r31        \n"
     "dec __tmp_reg__     \n"
     "brne bin2bcd_u32_00 \n"
  
   "eor r26, r26          \n" /*clear result*/
   "eor r27, r27          \n"
   "eor r30, r30          \n"
   "eor r31, r31          \n"
   "mov __tmp_reg__, %A1  \n"
   "lsl __tmp_reg__ \n lsl __tmp_reg__ \n lsl __tmp_reg__ \n" /*__tmp_reg__=size in bits*8*/
  
   "bin2bcd_u32_01:       \n" /*shift loop*/
    "subi r26,-0x33       \n" /*add 0x33*/
    "sbrs r26, 3          \n" /*if carry to bit 3,*/
    "subi r26, 3          \n" /*subtract 3*/
    "sbrs r26, 7          \n" /*if carry to bit 7,*/
    "subi r26, 0x30       \n" /*subtract 0x30*/
    "subi r27,-0x33       \n" /*add 0x33*/
    "sbrs r27, 3          \n" /*if carry to bit 3,*/
    "subi r27, 3          \n" /*subtract 3*/
    "sbrs r27, 7          \n" /*if carry to bit 7,*/
    "subi r27, 0x30       \n" /*subtract 0x30*/
    "subi r30,-0x33       \n" /*add 0x33*/
    "sbrs r30, 3          \n" /*if carry to bit 3,*/
    "subi r30, 3          \n" /*subtract 3*/
    "sbrs r30, 7          \n" /*if carry to bit 7,*/
    "subi r30, 0x30       \n" /*subtract 0x30*/
    "subi r31,-0x33       \n" /*add 0x33*/
    "sbrs r31, 3          \n" /*if carry to bit 3,*/
    "subi r31, 3          \n" /*subtract 3*/
    "sbrs r31, 7          \n" /*if carry to bit 7,*/
    "subi r31, 0x30       \n" /*subtract 0x30*/
    "lsl r26 \n rol r27 \n rol r30 \n rol r31 \n" /*shift out buffer*/
  
    "sbrc %D0, 7          \n" /*skip if msbit of input =0*/
    "ori  r26, 1          \n" /*set lsb of output*/
    "lsl %A0 \n rol %B0 \n rol %C0 \n rol %D0 \n"/*shift input*/
  
    "dec __tmp_reg__      \n"
    "brne bin2bcd_u32_01  \n" /*repeat for all bits*/
  
    "movw r22, r26        \n" /*move result*/
    "movw r24, r30        \n"
    "pop r31 \n pop r30 \n pop r27 \n pop r26 \n pop __tmp_reg__\n"
    "ret \n"
  : :"r"(data),"r"(result_bytes):"r0","r26","r27","r30","r31" /*input and output parameters*/
  );


bin2bcd C :
Код
u32 bin2bcd_u32(u32 data, u8 result_bytes)
{u32 result = 0; /*result*/
  u8 u8_1;
  for (u8_1 = (4 - result_bytes); u8_1; u8_1--) data <<= 8; /*adjust input bytes*/
  for (u8_1 = (result_bytes << 3); u8_1; u8_1--) /*bit shift loop*/
  {u8 u8_2, u8_3;
   /*result BCD nibbles correction*/
   result += 0x33333333;
   /*result correction loop*/
   for (u8_3 = 4; u8_3; u8_3--)
   {u8_2 = result >> 24;
    if (!(u8_2 & 0x08)) u8_2 -= 0x03;
    if (!(u8_2 & 0x80)) u8_2 -= 0x30;
    result <<= 8; /*shift result*/
    result |= u8_2; /*set 8 bits of result*/
   }
   /*shift next bit of input to result*/
   result <<= 1;
   if (((u8)(data >> 24)) & 0x80) result |= 1;
   data <<= 1;
  }
  return(result);
}


bcd2bin AVR (GCC) :
Код
u32 bcd2bin_u32(u32 data, u8 result_bytes) NAKED;
u32 bcd2bin_u32(u32 data, u8 result_bytes)
{asm("push __tmp_reg__ \n push r26 \n push r27 \n push r30 \n push r31 \n"
  "eor r26, r26           \n" /*clear result*/
  "eor r27, r27           \n"
  "eor r30, r30           \n"
  "eor r31, r31           \n"
  "mov __tmp_reg__, %A1   \n"
  "lsl __tmp_reg__ \n lsl __tmp_reg__ \n lsl __tmp_reg__ \n" /*__tmp_reg__=input parameter size in bits*/

   "bcd2bin_u32_00:       \n" /*bits shift loop*/
  
    "lsr r31 \n ror r30 \n ror r27 \n ror r26 \n" /*shift out buffer*/
  
    "sbrc %A0, 0          \n" /*move lowest bit*/
    "ori  r31, 0x80       \n"
  
    "lsr %D0 \n ror %C0 \n ror %B0 \n ror %A0 \n"
  
    "sbrc %D0, 7          \n" /*if carry to bit 7,*/
    "subi %D0, 0x30       \n" /*subtract 0x30*/
    "sbrc %D0, 3          \n" /*if carry to bit 3,*/
    "subi %D0, 3          \n" /*subtract 3*/
    "sbrc %C0, 7          \n" /*if carry to bit 7,*/
    "subi %C0, 0x30       \n" /*subtract 0x30*/
    "sbrc %C0, 3          \n" /*if carry to bit 3,*/
    "subi %C0, 3          \n" /*subtract 0x30*/
    "sbrc %B0, 7          \n" /*if carry to bit 7,*/
    "subi %B0, 0x30       \n" /*subtract 0x30*/
    "sbrc %B0, 3          \n" /*if carry to bit 3,*/
    "subi %B0, 3          \n" /*subtract 3*/
    "sbrc %A0, 7          \n" /*if carry to bit 7,*/
    "subi %A0, 0x30       \n" /*subtract 0x30*/
    "sbrc %A0, 3          \n" /*if carry to bit 3,*/
    "subi %A0, 3          \n" /*subtract 3*/
  
    "dec __tmp_reg__      \n" /*repeat for all bits*/
    "brne bcd2bin_u32_00  \n"
  
   "movw r22, r26         \n" /*adjust result bytes*/
   "movw r24, r30         \n"
    "bcd2bin_u32_01:      \n"
     "mov __tmp_reg__,r25 \n"
     "mov r25,r24         \n"
     "mov r24,r23         \n"
     "mov r23,r22         \n"
     "mov r22,__tmp_reg__ \n"
     "dec %A1             \n"
     "brne bcd2bin_u32_01 \n"
  
   "pop r31 \n pop r30 \n pop r27 \n pop r26 \n pop __tmp_reg__ \n"
   "ret \n"
   : :"r"(data),"r"(result_bytes):"r0","r26","r27","r30","r31" /*input and output parameters*/
  );
}


bcd2bin C :
Код
u32 bcd2bin_u32(u32 data, u8 input_bytes)
{u32 result = 0; /*result*/
  u8 cnt_bits, cnt_bytes, tmp_byte;
  for (cnt_bits = (input_bytes << 3); cnt_bits; cnt_bits--)
  {/*shift next bit*/
   result >>= 1;
   if (((u8)(data)) & 0x01) result |= 0x80000000;
   data >>= 1;
   {/*BCD correction of result*/
    for (cnt_bytes = 4; cnt_bytes; cnt_bytes--)
    {tmp_byte = (data >> 24);
     if (tmp_byte & 0x80) tmp_byte -= 0x30;
     if (tmp_byte & 0x08) tmp_byte -= 0x03;
     data <<= 8;
     data |= tmp_byte;
    }
   }
  }
  /*adjust result bytes*/
  for (cnt_bits = (4 - input_bytes); cnt_bits; cnt_bits--) result >>= 8;
  return(result);
}



num2asc C - форматированный вывод числа с фикс.запятой в ASCI-буфер (options&7 = общее количество знаков, (options>>4)&7 = положение запятой считая справа, options&8 = 8 - отображать начальные нули, options&80 = 80 - сначала преобразовать в BCD) :
Код
void num2asc_s32(s32 data, u8 *buf, u8 options)
{u8 cnt_chars, point_pos;
cnt_chars = (options & 7); /*number of digits*/
/*convert negative to positive, set '-' flag*/
if (data < 0) {data = -data; options |= 1;} else options &= ~1;
/*if necessary, convert to BCD*/
if (options & 0x80) data = bin2bcd_u32(data, (cnt_chars >> 1) + 1);
cnt_chars++;
/*calculate point position*/
point_pos = cnt_chars - ((options >> 4) & 7);
if (point_pos) point_pos++;
while (cnt_chars) /*digits conversion loop*/
{if ((options & 8) && (data == 0) && (cnt_chars < point_pos))
  {if (options & 1) *buf = asc_minus; else *buf = asc_space;
   options &= ~1;
  } else
   {if ((cnt_chars == point_pos) && (options & 0x70)) /*store point*/
    {*buf = asc_point;
     cnt_chars--;
     buf--;
    }
    *buf = bin2asc_u8(data); /*store ASCII digit*/
   }
  cnt_chars--;
  buf--;
  data >>= 4;
}
if (options & 1) *buf = asc_minus;
}


Сообщение отредактировал umup - Nov 15 2007, 10:28
Go to the top of the page
 
+Quote Post
alekseyb
сообщение Dec 7 2007, 02:58
Сообщение #100





Группа: Новичок
Сообщений: 2
Регистрация: 7-12-07
Из: Братск
Пользователь №: 33 051



Подсчет CRC для DALLAS 1Wire устройств.Работает очень быстро.

unsigned char crc_ib(unsigned char __crc,unsigned char data)
{
unsigned char temp;
temp=__crc^data;
__crc=0;
if (temp&(1<<7)){__crc^=0x8C;}
if (temp&(1<<6)){__crc^=0x46;}
if (temp&(1<<5)){__crc^=0x23;}
if (temp&(1<<4)){__crc^=0x9D;}
if (temp&(1<<3)){__crc^=0xC2;}
if (temp&(1<<2)){__crc^=0x61;}
if (temp&(1<<1)){__crc^=0xBC;}
if (temp&(1<<0)){__crc^=0x5E;}
return __crc;
}
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 12:52
Рейтинг@Mail.ru


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