Converte bibliotec

"Comercio" de componentes entre foristas

Moderadores: 51, guest2003, Renie, gpenga

Converte bibliotec

Mensagempor longo.251272 » 23 Set 2013 14:54

Boa tarde pessoal,

Comprei um kit que vem com um ARM da família STM32F4xx onde vem um exemplo em Keil para o Touch LCD usando includes da família STM32F1xx.

Preciso alterar esse exemplo para que funcione utilizando os includes da família STM32F4xx na ferramente CoIDE.
Esbarrei em alguns pontos, não estou tendo sucesso. Por isso estou optando em pagar alguém para fazer essas mudanças.

Quem tiver interesse me contacte pela MP.

Obrigado pessoal.

O kit é este
http://www.wvshare.com/product/Open407I-C-Package-B.htm
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP

Re: Converte bibliotec

Mensagempor proex » 23 Set 2013 23:08

Vc esta usando a Standart Periferals LIb da ST?

Que controlador tem esse display?

Eu já fiz isso para o 407, se precisar de ajuda..........


.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Re: Converte bibliotec

Mensagempor longo.251272 » 24 Set 2013 09:43

3.2inch 320x240 Touch LCD B.pdf
proex escreveu:Vc esta usando a Standart Periferals LIb da ST?

Que controlador tem esse display?

Eu já fiz isso para o 407, se precisar de ajuda..........


.


O controlador do LCD é SSD1289 e o do Touch é XPT2046. Em anexo esto o circuito.

Eu peguei um exemplo em keil que veio na placa e comecei a transferir para o CoIDE alterando as bibliotecas para as stm32f4xx e enrosquei nesse comando, SysTick_CounterCmd(SysTick_Counter_Clear);.
A função esta presente na biblioteca stm32f10x_systick.h, mas ocorre o erro 24: error: 'SysTick_Counter_Clear' undeclared (first use in this function).

Estou começando no ARM e preciso ao menos fazer o LCD funcionar para poder brincar com a placa e postar os resultados nele.

Obrigado pela atenção
Você não está autorizado a ver ou baixar esse anexo.
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP

Re: Converte bibliotec

Mensagempor proex » 24 Set 2013 10:59

No 407 nao existe a funçao SysTick_Counter_Clear. Ela só foi adotada na familia 32f1xx. Apague essa linha no seu projeto. Aconselho vc usar a lib Stardard Peripherals da ST para o 407.

No 407 a inicializaçao do SysTick fica no arquivo <core_cm4.h>

Não há porque resetar o SysTick. Veja como eu uso:

SysTick_Config(SystemCoreClock / 23996) // habilita a Interrupcao do SysTick com o tempo apontado (SystemCoreClock / 23996)

// rotina de interrupçao do SysTick

void SysTick_Handler(void)
{
suas instruções vão aqui
}
O SysTick_Handler fica no arquivo <stm32f4xx_it.c>


Sem a lib Stardard Peripherals da ST para o 407 vai ficar esquisito.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Re: Converte bibliotec

Mensagempor longo.251272 » 25 Set 2013 11:08

Bom dia Poex,

Procurei o arquivo stm32f4xx_it.c mas não achei no repositório do CoIDE. Qual IDE você esta usando ?

Alias, entrei no site da sua assinatura, suas produtos são muito bem acabados.
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP

Re: Converte bibliotec

Mensagempor proex » 25 Set 2013 12:28

Obrigado pelo elogio.

O stm32f4xx_it.c é um arquivo da biblioteca Standard Peripherals da ST. Ou seja, vc só vai encontrar no site da ST. http://www.st.com/web/en/catalog/tools/PF257901

Vc tem que incluir essa biblioteca no seu projeto e usar as funções que existem lá, é uma mão na roda.

Keil.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Re: Converte bibliotec

Mensagempor longo.251272 » 25 Set 2013 14:08

Pelo que eu li sobre o SysTick_Config no exemplo STM32F4xx_StdPeriph_Examples/SysTick/SysTick_Example/main.c. Vou ter que trabalhar com interrupção.

A rotina que preciso alterar é essa abaixo. Ela esta esperando o SysTick_FLAG_COUNT zerar para sair do loop. Será que a melhor opção sera usar o exemplo acima ?

cpp code
/*******************************************************************************
* Function Name : delay_us
* Description :
* Input : - Nus:
* Output : None
* Return : None
* Attention :
*******************************************************************************/
void delay_us(u32 Nus)
{
SysTick_SetReload(delay_fac_us * Nus);
SysTick_CounterCmd(SysTick_Counter_Clear);
SysTick_CounterCmd(SysTick_Counter_Enable);
do
{
Status = SysTick_GetFlagStatus(SysTick_FLAG_COUNT);
}while (Status != SET);
SysTick_CounterCmd(SysTick_Counter_Disable);
SysTick_CounterCmd(SysTick_Counter_Clear);
}
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP

Re: Converte bibliotec

Mensagempor longo.251272 » 08 Out 2013 10:09

Tinha uma rotina de delay de us no exemplo e acabei usando ela para montar o delay de ms.

cpp code
/*******************************************************************************
* Function Name : DelayUS
* Description :
* Input : - cnt:
* Output : None
* Return : None
* Attention : None
*******************************************************************************/
static void DelayUS(vu32 cnt)
{
uint16_t i;
for(i = 0;i<cnt;i++)
{
uint8_t us = 12;
while (us--)
{
;
}
}
}

/*******************************************************************************
* Function Name : DelayMS
* Description :
* Input : - cnt:
* Output : None
* Return : None
* Attention : None
*******************************************************************************/
static void DelayMS(vu32 cnt)
{
uint16_t i;
for(i = 0;i<cnt;i++)
{
uint8_t us = 1000;
while (us--)
{
DelayUS(1);
}
}
}


Compilou beleza, o CoIDE gravou e entra em debug, mas não esta escrevendo nada no LCD.

Alguém tem mais alguma sugestão ?
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP

Re: Converte bibliotec

Mensagempor longo.251272 » 08 Out 2013 11:48

Já funcionou. Agora só falta o Touch, não estou conseguindo buscar as coordenadas do toque.

Valeu pessoal.
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP

Re: Converte bibliotec

Mensagempor longo.251272 » 08 Out 2013 16:20

Resolvido.

Desconectando o JTAG funcionou. Não sei o motivo ainda.
longo.251272
Byte
 
Mensagens: 318
Registrado em: 08 Nov 2011 11:58
Localização: São Paulo - SP


Voltar para Troca-se/ Procura-se/ Ofertas

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

cron

x