![]()  | 
	
| 
			
			 | 
		#21 | 
| 
			
			 Senior Member 
			
			
			
			Регистрация: 20.01.2013 
				Адрес: Уфа 
				
				
					Сообщений: 444
				 
				
				
				Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			Специально проверил, скачал только что из первого поста. Arduino 1.0.3 компилирует оба примера из поста 17, без всяких вопросов
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#22 | 
| 
			
			 Administrator 
			
			
			
				
			
			Регистрация: 12.04.2010 
				Адрес: Москва 
				
				
					Сообщений: 9,618
				 
				
				
				Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			Спасибо за помощь!
		 
		
		
		
		
		
		
			
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#23 | 
| 
			
			 Junior Member 
			
			
			
			Регистрация: 24.11.2012 
				Адрес: Новосибирск 
				
				
					Сообщений: 14
				 
				
				
				Вес репутации: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			Работает всё хорошо 
		
		
		
		
		
		
		
		
			Покручу ещё, если обнаружу что-то интересное - отпишусь. Трудно переоценить полезность библиотеки nanopins.h, позволяющей даже неподготовленным любителям оптимизировать работу своих устройств, приближая к коммерческому уровню. Большое спасибо, за помощь и науку. С уважением , fot . Последний раз редактировалось fot; 12.03.2013 в 08:50.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#24 | 
| 
			
			 Administrator 
			
			
			
				
			
			Регистрация: 12.04.2010 
				Адрес: Москва 
				
				
					Сообщений: 9,618
				 
				
				
				Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			Попробуй по новой скачай nanopins, я внес изменения в An_Read
		 
		
		
		
		
		
		
			
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#25 | 
| 
			
			 Junior Member 
			
			
			
			Регистрация: 24.11.2012 
				Адрес: Новосибирск 
				
				
					Сообщений: 14
				 
				
				
				Вес репутации: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			Проверил  входы, покрутил в работе с  
		
		
		
		
		
		
		
		
			контроллером - мотор стабилен во всём диапазоне. Индикация батареи и оборотов показывает точно и независимо, Всё в норме. Потенциометр не шумит . Последний раз редактировалось fot; 12.03.2013 в 08:49.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#26 | 
| 
			
			 Administrator 
			
			
			
				
			
			Регистрация: 12.04.2010 
				Адрес: Москва 
				
				
					Сообщений: 9,618
				 
				
				
				Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			Спасибо!
		 
		
		
		
		
		
		
			
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#27 | 
| 
			
			 Junior Member 
			
			
			
			Регистрация: 24.11.2012 
				Адрес: Новосибирск 
				
				
					Сообщений: 14
				 
				
				
				Вес репутации: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			Всегда !
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось fot; 12.03.2013 в 08:49.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#28 | 
| 
			
			 Administrator 
			
			
			
				
			
			Регистрация: 12.04.2010 
				Адрес: Москва 
				
				
					Сообщений: 9,618
				 
				
				
				Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			Обновил библиотеку nanopins в шапке темы. 
		
		
		
		
		
		
			
		
		
		
		
	добавил функции delay_us() и delay_ms() Функции delay_us() и delay_ms() можно применять в прерываниях так как они не используют таймер, но следует не забывать что точность этих функций зависит от использования в коде обработчиков прерываний. Если Вы не используете в коде прерывания то и точность будет высокая delay_us(n); //где n - задержка в мкс, максимальная задержка может быть не больше 16000мкс delay_ms(n); //где n - задержка в мс, максимальная задержка может быть не больше 65000мс это равно 65сек Пример использования Код: 
	#include <nanopins.h>  
char message[] = " CarDuino ";
void setup()  
{   
   UART_Init(115200);  
 }  
void loop()  
{  
  for(uint8_t i=0; i<strlen(message); i++)
  {
    UART_SendByte(message[i]);
    if(i>8) UART_SendByte(DecToChar(i));
  }
  
  delay_ms(10000); //пауза 10сек.
}
 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#29 | 
| 
			
			 Administrator 
			
			
			
				
			
			Регистрация: 12.04.2010 
				Адрес: Москва 
				
				
					Сообщений: 9,618
				 
				
				
				Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			Добавил функцию UART_SendArray(array, size array): 
		
		
		
		
		
		
			
		
		
		
		
	array-имя вашего массива size array-число отправляемых байт массива Функция отправляет в UART порт, массив типа байт, максимальный объем которого не должен превышать 65535 байт, минимальный объем массива 1 байт Можно также отправлять часть массива Приер использования функции: Код: 
	#include <nanopins.h>  
uint8_t message[] = "Cyber-Place "; //массив размером 12байт
void setup()  
{   
   UART_Init(115200); //инициализация
 }  
void loop()  
{  
  UART_SendArray( message, 12); //отправить в UART порт, массив размером 12 байт
  delay_ms(1000); //пауза 1сек.  
}
Для сравнения такой же код(пример ниже), только с использованием встроенной функции Serial.write использует 1592 байта Код: 
	uint8_t message[] = "Cyber-Place "; //массив размером 12байт
void setup() 
{
  Serial.begin(115200);
}
void loop() 
{
    Serial.write(message, 12); 
    delay(1000);
}
 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#30 | |
| 
			
			 Member 
			
			
			
			Регистрация: 07.03.2013 
				
				
				
					Сообщений: 75
				 
				
				
				Вес репутации: 0 ![]()  | 
	
	
	
		
		
			
			 Цитата: 
	
 Сильно не вдавался в алгоритм реализации данных функций, но они вроде как уже реализованы в стандартной бибилиотеке GCC/avr-libc. Цепляются через <util/delay.h> А вот функция получения времени в мили(микро)секундах с автоматическим расчетом относительно заданной F_CPU без использования ардуиновской библиотеки было бы удобно. такой функции в avr-libc я не нашел.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
		
| Здесь присутствуют: 25 (пользователей: 0 , гостей: 25) | |
		
  | 
	
		
  |