Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 29.08.2012, 11:44  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Batisto4ka, Natali , чем тач жмете ?
И вы пробовали усреднять?
Реклама:
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 29.08.2012, 11:49  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Сообщение от dosikus Посмотреть сообщение
Batisto4ka, Natali , чем тач жмете ?
И вы пробовали усреднять?
На тачскрине пленка. Жму карандашом. Усреднять значение - в цикле пока Х предыдущее не равно Х текущему и то же с У вычислить среднее арифметическое координат?
Batisto4ka вне форума  
Непрочитано 29.08.2012, 11:50  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Вот пример работы платы HY-MINI с тач панелью на 7843
Код:
static void ADS7843_SPI_Init(void) 
{ 
  SPI_InitTypeDef  SPI_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
  /* DISABLE SPI1 */ 
  SPI_Cmd(SPI1, DISABLE); 
  /* SPI1 Config -------------------------------------------------------------*/ 
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; 
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master; 
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; 
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; 
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; 
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; 
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256; 
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; 
  SPI_InitStructure.SPI_CRCPolynomial = 7; 
  SPI_Init(SPI1, &SPI_InitStructure); 
  /* Enable SPI1 */ 
  SPI_Cmd(SPI1, ENABLE); 
}
Код:
static void WR_CMD (uint8_t cmd)  
{ 
  /* Wait for SPI1 Tx buffer empty */ 
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); 
  /* Send SPI1 data */ 
  SPI_I2S_SendData(SPI1,cmd); 
  /* Wait for SPI1 data reception */ 
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET); 
  /* Read SPI1 received data */ 
  SPI_I2S_ReceiveData(SPI1); 
} 

/**************************************************  *******/**************************************************  *****************************
* Function Name  : RD_AD
* Description    : ¶БИЎADCЦµ
* Input          : None
* Output         : None
* Return         : ADS7843·µ»Ш¶юЧЦЅЪКэѕЭ
* Attention		 : None
**************************************************  *****************************/
static int RD_AD(void)  
{ 
  unsigned short buf,temp; 
  /* Wait for SPI1 Tx buffer empty */ 
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); 
  /* Send SPI1 data */ 
  SPI_I2S_SendData(SPI1,0x0000); 
  /* Wait for SPI1 data reception */ 
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET); 
  /* Read SPI1 received data */ 
  temp=SPI_I2S_ReceiveData(SPI1); 
  buf=temp‹‹8; 
  DelayUS(1); 
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); 
  /* Send SPI1 data */ 
  SPI_I2S_SendData(SPI1,0x0000); 
  /* Wait for SPI1 data reception */ 
  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET); 
  /* Read SPI1 received data */ 
  temp=SPI_I2S_ReceiveData(SPI1); 
  buf |= temp; 
  buf››=3; 
  buf&=0xfff; 
  return buf; 
} 

/**************************************************  *******/**************************************************  *****************************
* Function Name  : Read_X
* Description    : ¶БИЎADS7843НЁµАX+µДADCЦµ 
* Input          : None
* Output         : None
* Return         : ADS7843·µ»ШНЁµАX+µДADCЦµ
* Attention		 : None
**************************************************  *****************************/
int Read_X(void)  
{  
  int i; 
  TP_CS(0); 
  DelayUS(1); 
  WR_CMD(CHX); 
  DelayUS(1); 
  i=RD_AD(); 
  TP_CS(1); 
  return i;    
} 
/**************************************************  *************************/**************************************************  *****************************
* Function Name  : Read_Y
* Description    : ¶БИЎADS7843НЁµАY+µДADCЦµ
* Input          : None
* Output         : None
* Return         : ADS7843·µ»ШНЁµАY+µДADCЦµ
* Attention		 : None
**************************************************  *****************************/
int Read_Y(void)  
{  
  int i; 
  TP_CS(0); 
  DelayUS(1); 
  WR_CMD(CHY); 
  DelayUS(1); 
  i=RD_AD(); 
  TP_CS(1); 
  return i;     
}
Вложения:
Тип файла: rar TouchPanel.rar (609.2 Кб, 73 просмотров)
Easyrider83 вне форума  
Непрочитано 29.08.2012, 11:52  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Код:
void TP_GetAdXY(int *x,int *y)  
{ 
  int adx,ady; 
  adx=Read_X(); 
  DelayUS(1); 
  ady=Read_Y(); 
  *x=adx; 
  *y=ady; 
}
Easyrider83 вне форума  
Непрочитано 29.08.2012, 11:53  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Сообщение от dosikus Посмотреть сообщение
Batisto4ka, Natali , чем тач жмете ?
И вы пробовали усреднять?
В приведенном мною коде усреднения нет. И все отлично работает.
Easyrider83 вне форума  
Непрочитано 29.08.2012, 12:35  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

стырила с вашего примера настройку spi, функции чтения записи из/в spi, функции чтения координат, в цикле вызываю функцию TP_GetAdXY. При такой настройке эспиай не работает, постоянно приходят 0.
ПРи CPOL=0, CPHA=1 приходят разные данные. при psc spi 256, 128, 64 меняются в ответе то Х=0x20, У=0х20б то 0, то 0xff. ПРИ прескаллере 32,16 всегда нули в любой точке. А при 4, 2 разные значения, то 0x808, 0x818, 0xfff
Batisto4ka вне форума  
Непрочитано 29.08.2012, 12:38  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Batisto4ka, а у вас там точно с железом все в порядке?
Easyrider83 вне форума  
Непрочитано 29.08.2012, 13:40  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Сообщение от Batisto4ka Посмотреть сообщение
На тачскрине пленка.
А пленка не транспортировочная часом ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 29.08.2012, 13:42  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

Сообщение от dosikus Посмотреть сообщение
А пленка не транспортировочная часом ?
На моем тоже пленка. Но все работает.
Easyrider83 вне форума  
Непрочитано 29.08.2012, 14:13  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: Помогите с Touch Screen на ADS7843

в качеств платы мастера использую sk-mstm32f107vc. Плата с TFT, Touchscreen sk-WF43BTIBEDOTP. Шлейф перепаяла, чтобы получилась рапсиновка:
TFT плата Плата управляющего контроллера
СS(5) CS(5)
SDCLK(40) MK_P30(PA.5(9))//SPI_SCK
DIN(35) MK_P32(PA7.(11)//SPI MOSI)
DOUT(39) MK_P31(PA.6(12)//SPI MISO)
PENIRQ(37) MK_P69(PA.10(37))
Сейчас буду пробовать либо сремапить куда-то spi, либо попробовать 2.
Вложения:
Тип файла: pdf SK_MSTM32F107.pdf (58.3 Кб, 190 просмотров)
Тип файла: pdf SK-WF43BTIBED0TP-Plug_4B.pdf (34.0 Кб, 55 просмотров)
Batisto4ka вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тouch screen в protes-е neox-neox Proteus 5 20.10.2011 04:58
touch skreen на Rover G7 Malyshev_v Ремонт оргтехники 3 03.05.2011 16:10
Замена touch screen tarasov128 Информация по радиокомпонентам 1 28.09.2010 17:12
Touch Panel: anton_1000 Микроконтроллеры, АЦП, память и т.д 4 14.12.2008 09:17
Взамодействие Touch memory и микроконтроллера. tatarin_as Микроконтроллеры, АЦП, память и т.д 3 15.04.2008 19:15


Часовой пояс GMT +4, время: 08:32.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot