Библиотека  AVRLib <ul><li>Обзор и пример использования </li></ul><ul><li>Петров Александр, 2010 </li></ul>
AVRLib != AVRLibc <ul><li>AVRLib c  -  www.nongnu.org /avr-libc/   </li></ul><ul><li>Стандартная библиотека  </li></ul><ul...
AVRLib   «Быстро, удобно, дешево – выберите любые два!» <ul><li>96 библиотечных файлов ( .c, .h) </li></ul><ul><li>Высокоу...
Модули  AVRLib <ul><li>General : </li></ul><ul><ul><li>buffers ,  printf ,  FAT16/32 , … </li></ul></ul><ul><li>AVR Built-...
Примеры <ul><li>И тут я открываю  AVR Studio   </li></ul><ul><li>и показываю эффектные примеры </li></ul>
Опыт использования  (мобильный робот) ATMega8 (8Mhz) ATMega32 (16Mhz) UART PC PWM Pulse Engines Stepper Current sensor ADC...
Не про  AVRLib , но важно Фьюз  CKOPT ! <ul><li>Проблема  – нестабильная работа  UART  (связь с ПК) при интенсивной работе...
Нужно знать в лицо <ul><li>ПК  –  просто ждем Эхо: </li></ul><ul><li>while(true)   </li></ul><ul><li>{ </li></ul><ul><li>S...
Решение <ul><li>Datasheet ATMega32 (page 24): </li></ul><ul><ul><li>The CKOPT Fuse selects between two different   Oscilla...
Upcoming SlideShare
Loading in …5
×

презентация Microsoft power point

813 views
768 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
813
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

презентация Microsoft power point

  1. 2. Библиотека AVRLib <ul><li>Обзор и пример использования </li></ul><ul><li>Петров Александр, 2010 </li></ul>
  2. 3. AVRLib != AVRLibc <ul><li>AVRLib c - www.nongnu.org /avr-libc/ </li></ul><ul><li>Стандартная библиотека </li></ul><ul><li>компилятора avr-gcc ( _ BV(…), _delay_ms, …) </li></ul><ul><li>AVRLib - http:// www.procyonengineering.com /avr/avrlib/index.html </li></ul><ul><li>« AVRLib - библиотека функций для решения частых и неочень задач, возникающих при программировании МК AVR » - Pascal Stang, автор библиотеки. </li></ul>
  3. 4. AVRLib «Быстро, удобно, дешево – выберите любые два!» <ul><li>96 библиотечных файлов ( .c, .h) </li></ul><ul><li>Высокоуровневый подход </li></ul><ul><li>Open Source , наличие примеров </li></ul><ul><li>Совместима с avr-gcc (winavr, AVR Studio) </li></ul><ul><li>Online- документация, по большей части комментированные исходники </li></ul><ul><li>Дата последнего обновления – май 2006 </li></ul>
  4. 5. Модули AVRLib <ul><li>General : </li></ul><ul><ul><li>buffers , printf , FAT16/32 , … </li></ul></ul><ul><li>AVR Built-In Peripheral Drivers : </li></ul><ul><ul><li>timers , pwm , spi , … </li></ul></ul><ul><li>External Hardware Device Drivers : </li></ul><ul><ul><li>LCD , EEPROM , Servos , IDE/ATA , GPS … </li></ul></ul><ul><li>AVR Software-Emulated Devices : </li></ul><ul><ul><li>UART , I2c Master , Intel-type Memory Bus … </li></ul></ul><ul><li>Network Support : </li></ul><ul><ul><li>uC drivers , IPUDP , DHCP … </li></ul></ul>
  5. 6. Примеры <ul><li>И тут я открываю AVR Studio </li></ul><ul><li>и показываю эффектные примеры </li></ul>
  6. 7. Опыт использования (мобильный робот) ATMega8 (8Mhz) ATMega32 (16Mhz) UART PC PWM Pulse Engines Stepper Current sensor ADC SPI “ UART” Temp. Hall sensor Ext. Vitaliy and Vsevolod handcoding AVRLib Logic output
  7. 8. Не про AVRLib , но важно Фьюз CKOPT ! <ul><li>Проблема – нестабильная работа UART (связь с ПК) при интенсивной работе </li></ul><ul><li>Проявляется – в различных условиях (загруженный AVR ; пустой AVR ; клиент на ПК на BCB, C#, Java ; используется AVRlib или нет ; Юпитер в зените ; …) </li></ul><ul><li>Ведет – бессонные ночи, потраченные выходные, 10 форумных сообщений </li></ul>
  8. 9. Нужно знать в лицо <ul><li>ПК – просто ждем Эхо: </li></ul><ul><li>while(true) </li></ul><ul><li>{ </li></ul><ul><li>SerialPort.Send(random_number); </li></ul><ul><li>SerialPort.ReceiveByte(); </li></ul><ul><li>} </li></ul><ul><li>МК – просто отсылаем Эхо: </li></ul><ul><li>while(true) </li></ul><ul><li>{ </li></ul><ul><li>UART_Send(UART_Receive()); </li></ul><ul><li>} </li></ul>
  9. 10. Решение <ul><li>Datasheet ATMega32 (page 24): </li></ul><ul><ul><li>The CKOPT Fuse selects between two different Oscillator amplifier modes. When CKOPT is programmed, the Oscillator output will oscillate will a full rail-to-rail swing on the output. This mode is suitable when operating </li></ul></ul><ul><ul><li>in a very noisy environment or when the output from XTAL2 drives a second clock </li></ul></ul><ul><ul><li>buffer. This mode has a wide frequency range. When CKOPT is unprogrammed, the </li></ul></ul><ul><ul><li>Oscillator has a smaller output swing. This reduces power consumption considerably. </li></ul></ul><ul><ul><li>This mode has a limited frequency range and it can not be used to drive other clock </li></ul></ul><ul><ul><li>buffers. For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and 16 MHz with CKOPT programmed. </li></ul></ul><ul><li>ИТОГО: </li></ul><ul><li>Если кварц <= 8 Mhz , то в uniprof CKOPT c галочкой, иначе в uniprof CKOPT без галочки </li></ul>

×