| Автор | Сообщение | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| Я тут. Прошу прощения что пропал. Пытался все-таки понять о чем вы говорите тут. )) Я действительно смотрел пока, какими вариантами еще можно организовать опрос двух каналов ацп... Завтра попробую ваши варианты. ) Я тут. Прошу прощения что пропал. Пытался все-таки понять о чем вы говорите тут. )) Я действительно смотрел пока, какими вариантами еще можно организовать опрос двух каналов ацп... Завтра попробую ваши варианты. ) |  |  
						| 
							
								|  |  | Добавлено: 07 мар 2016, 20:08 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| Похоже изучает МК, и это правильно.  Похоже изучает МК, и это правильно. 8-) |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 12:38 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| это всё лирика, где автор топика?)) это всё лирика, где автор топика?)) |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 11:45 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| 
 
 
										
											| Вложения: |  
												|  1.png [ 18.75 КБ | Просмотров: 13990 ]
 
 |  [quote="_zag_"]а зачем его поднимать, если я подкорректировал без него?))[/quote]Я в коде не увидел корректировку. Какая процедура это делает?
 [quote="_zag_"]Но если так необходим этот бит, то на рисунках показал что надо сделать: Выделить номер канала из ADMUX и изменить описание констант _ADC_Min_Ch и _ADC_Max_Chю Ну и естественно сам процесс обработки значения АЦП...[/quote]
 Можно конечно и так (только битов выбора канала не три а пять)… но для универсальности алгоритма (имеется ввиду когда меняются и биты опорного напряжения в регистре ADMUX), я бы остановился на таком варианте, а константу _ADC_Max_Ch оставил бы как в первоначальном варианте.
 [attachment=0]1.png[/attachment]
 |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 10:41 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| 
 
 
										
											| Вложения: |  
												|  Снимок2.PNG [ 4.8 КБ | Просмотров: 14002 ]
 
 |  
												|  Снимок.PNG [ 8.23 КБ | Просмотров: 14002 ]
 
 |  [quote="SVN"][quote="_zag_"]а если вот так[/quote]Это ничего не меняет… подними бит ADLAR и увидишь.[/quote] а зачем его поднимать, если я подкорректировал без него?)) Но если так необходим этот бит, то на рисунках показал что надо сделать: Выделить номер канала из ADMUX и изменить описание констант _ADC_Min_Ch и _ADC_Max_Chю Ну и естественно сам процесс обработки значения АЦП...
 |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 02:38 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| [quote="_zag_"]а если вот так[/quote]Это ничего не меняет… подними бит ADLAR и увидишь.
 |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 01:03 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| 
 
 
										
											| Вложения: |  
												|  1.png [ 12.75 КБ | Просмотров: 14008 ]
 
 |  [quote="_zag_"]по ADLAR справедливо только на первом круге, потом в ADMUX занесся 0 и все стало в норму...[/quote]Не согласен… если в ADMUX записать 0, то обнулится бит ADLAR, тем самым отключится коррекция. А если она нужна, тогда как? Остаюсь при своём мнении…
 [attachment=0]1.png[/attachment]
 |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 00:54 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| а если вот так 
 
 
										
											| Вложения: |  
												|  ADC.rar [8.91 КБ] Скачиваний: 1773
 
 |  а если вот так |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 00:37 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| [quote="SVN"][quote="Akademik"]Вот что у меня получилось. Но ничего не работает...[/quote]Дык, понятно почему...  ;)
 
 Что касается регистра управления мультиплексором АЦП ([u]ADMUX[/u]). Дело в том, что корректировка значений регистра ADC осуществляется битом [u]ADLAR[/u]. Который тоже находится в регистре ADMUX. Так вот, как только ты его (бит ADLAR) установил в 1, значение всего регистра увеличится на $20. И когда ты сохраняешь регистр ADMUX в  r16, то при нулевом канале мультиплексора, в  r16 запишется не 0 а 32 ($20). Затем умножаешь r16 на 2… короче твой результат записывается чёртикуда, но не в переменную ADC0. Все остальные результаты по этому же подобию.  :-)
 Второй момент… ты используешь все 8 каналов при измерении… зачем?  8-)
 Третий момент… постоянно передаёшь значение по UART не зависимо от того произвёл ты замер напряжения или нет. Так не делается… ;)[/quote]
 
 по ADLAR справедливо только на первом круге, потом в ADMUX занесся 0 и все стало в норму... в передаче используется пауза в 9мС за это время не один круг АЦП сделает.
 |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 00:29 |  |  | 
			
				|  | 
		
				|  | 
					
						|  | Заголовок сообщения: | Re: джойстик - UART | Цитата |  | 
			
				| 
					
						| 
							
								| [quote="Akademik"]Вот что у меня получилось. Но ничего не работает...[/quote]Дык, понятно почему...  ;)
 
 Что касается регистра управления мультиплексором АЦП ([u]ADMUX[/u]). Дело в том, что корректировка значений регистра ADC осуществляется битом [u]ADLAR[/u]. Который тоже находится в регистре ADMUX. Так вот, как только ты его (бит ADLAR) установил в 1, значение всего регистра увеличится на $20. И когда ты сохраняешь регистр ADMUX в  r16, то при нулевом канале мультиплексора, в  r16 запишется не 0 а 32 ($20). Затем умножаешь r16 на 2… короче твой результат записывается чёртикуда, но не в переменную ADC0. Все остальные результаты по этому же подобию.  :-) Для универсальности алгоритма АЦП необходимо после записи ADMUX -> r16, проверять бит ADLAR, и если он равен 1, то из регистра r16 отнять значение 32 ($20). Тогда всё срастутся…  ;)
 Второй момент… ты используешь все 8 каналов при измерении… зачем?  8-)
 Третий момент… постоянно передаёшь значение по UART не зависимо от того произвёл ты замер напряжения или нет. Так не делается… ;)
 |  |  
						| 
							
								|  |  | Добавлено: 06 мар 2016, 00:11 |  |  | 
			
				|  |