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

 
 
> Программные задержки, для 1-Ware
GIGAWAT
сообщение Feb 11 2007, 02:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 9-02-07
Из: Санкт-Петербург
Пользователь №: 25 221



Здраствуйте.
Есть вопрос по программным задержкам.
Для начала, опишу то с чем я работаю.
Микроконтроллер mega169V в составе демонстрационной платы AVR Butterfly.
Программно обеспечение взято с сайта SmileyMicros.com и представляет из себя ,оптимизированные под WinAVR(GCC) исходники для IAR, с офф сайта Atmel.
Все это хозяйство я сопрягаю с датчиками DS1920 1-Ware.
Сответственно были взяты исходники для апноута AVR318 под IAR и оптимизированы под WinAvr.
До этого я программировал микроконтроллеры HOLTEK, но т.к. средства отладки у них дорогие, то за пределы симулятора я так и не вышел (софт писал на асме).

Естественно первым делом я стал проверять мременные задержки.
Написал кусочек кода для формирования импульсов определенной длительности, и проверял на осцилографе, снимая сигнал с одной из ножек порта.
===============================================
#include "dallasbus.h"
#include <avr/io.h>
#include "main.h"
#include <util/delay.h>
#include "LCD_functions.h"
// 1-Ware function main
#define F_CPU 1000000UL

char dallasfunction (char input)
{
static char enter = 1;

if (enter)
{
enter = 0;
cbi(LCDCRA, 7);
DDRD=0xff; //Set port D to output port
//===========================
while (1)
{
PORTD=0xFF;
_delay_us(5);
PORTD=0x00;
_delay_us(10);
}
//============================
}
else if (input == KEY_MINUS)
{
enter = 1; // Set enter to 1 before leaving the TemperatureFunc
return ST_1ware;
}
else
return ST_1ware_FUNC;
}
===================================================
Это лиш один из программных модулей, здесь главное это бесконечный цикл while().
Как видно из изходника я использовал функцию _delay_us();
Изначально я использовал частоту 8 Мгц.
Импульсы получились не такими как я предполагал. Длительность и период были в разы больше чем я указывал.
Я начал УМЕНЬШАТЬ частоту и только на !! 1Мгц достиг примерно нужного значения .
Суть в том, что это ИМХО полный абсурд blink.gif. Ибо я считал что временные интервалы с уменьшением частоты должны УВЕЛИЧИВАТЬСЯ, а не УМЕНЬШАТЬСЯ.
Что скажете товарищи ?
Как же определить зависимость задержек от частоты? Жду ваших комментариев. Заранее спасибо smile.gif
P.S. Принимаю любую обоснованную критику в свой адрес т.к. еще новичек в этом деле.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GIGAWAT   Программные задержки   Feb 11 2007, 02:27
- - prottoss   Цитата(GIGAWAT @ Feb 11 2007, 06:27) #def...   Feb 11 2007, 03:48
|- - GIGAWAT   Цитата(prottoss @ Feb 11 2007, 03:48) Цит...   Feb 11 2007, 12:35
- - prottoss   А фьюзы в МК на внешний кварц поправили?   Feb 11 2007, 12:46
|- - GIGAWAT   Цитата(prottoss @ Feb 11 2007, 12:46) А ф...   Feb 11 2007, 13:41
|- - prottoss   Цитата(GIGAWAT @ Feb 11 2007, 17:41) Цита...   Feb 11 2007, 14:20
- - GIGAWAT   Видимо мне не удастся запрограмировать фьюзы через...   Feb 11 2007, 15:42
|- - prottoss   Цитата(GIGAWAT @ Feb 11 2007, 19:42) Види...   Feb 11 2007, 15:59
|- - rx3apf   Цитата(prottoss @ Feb 11 2007, 15:59) Да,...   Feb 11 2007, 16:48
- - GIGAWAT   Благодарю за ответ И еще пару вопросов ,дабы не...   Feb 11 2007, 16:30
|- - prottoss   Цитата(GIGAWAT @ Feb 11 2007, 20:30) 1) Е...   Feb 11 2007, 16:58
|- - rx3apf   Цитата(prottoss @ Feb 11 2007, 16:58) Как...   Feb 11 2007, 17:20
- - GIGAWAT   Вот я и думаю прикупить себе JTAG чтоб и программа...   Feb 11 2007, 17:23
|- - rx3apf   Цитата(GIGAWAT @ Feb 11 2007, 17:23) Вот ...   Feb 11 2007, 19:10
- - GIGAWAT   Ну если Byteblaster от Altera подойдет, то он у ме...   Feb 11 2007, 22:06
|- - rx3apf   Цитата(GIGAWAT @ Feb 11 2007, 22:06) Ну е...   Feb 11 2007, 22:12
|- - GIGAWAT   ЦитатаТак это если устройство живет само по себе, ...   Feb 11 2007, 22:31
- - konny   Поскольку используешь #include <util/delay.h...   Feb 12 2007, 10:17


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:07
Рейтинг@Mail.ru


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