Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
ELETRÔNICA / ELÉTRICA => Eletrônica Básica => Microcontroladores => Tópico iniciado por: alangustavo_ em 19 de Junho de 2012, 18:32
-
Boa Noite, montei um projeto para controle CNC via USB com pic, 48Mhz 12mips, o software que montei para o microcontrolador esta tudo perfeito, ja fiz os testes na maquina, o problema é que o pic esta muito lento para executar a função principal de movimentar, (a função é grande) entao esta limitando a velocidade dos motores em +/-2ms isso sem usar delay entre os passos, entao pensei usar um ARM CORTEX M3 especificamente o STM32F103RBT6 ele é bem rapido e ainda tem conexão que eu preciso USB, ai que surge o problema
preciso de ajuda de aguem ai que sabe programar arm, eu estou usando o keil, baixei o codigo exemplo do site da STMicroeletronics, o keil compila tudo certinho, mas nao sei como Receber e Enviar os dados, nao sei qual a função chamar para receber os dados... no proprio exemplo da keil ele nao compila da um monte de erro, o da Stm compila mais apenas mostra dentro de
main(){
// AS FUNÇÕES DE INICIALIZAÇÃO DO STM32
// FUNÇÕES DE INICIALIZAÇÃO DO USB
ai aqui dentro que seria o principal
while(1){
//LOOP INFINITO NAO MOSTRA A FUNÇÃO QUE PRECISO CHAMAR PARA
RECEBER OS DADOS DO PC OU ENVIAR
}
}
SE ALGUEM AI PUDER ME AJUDAR AGRADEÇO VLW ABRAÇOS T+
-
Cara, estou usando o STM32F405 para o controle de um quadcoptero...
Também trabalho com ele no meu estágio.
No estágio estou em um projeto que utiliza a porta USB e também o periférico de Ethernet.
A parte de ethernet eu nao trabalhei.
Mas estou usando bastante a USB como porta serial. Voce conecta no computador e acessa como se fosse uma COM.
Voce está usando o F1 em uma placa que voce fez ou em uma comercial? Qual?
Já conseguiu programar o bixo?
-
boa tarde
a placa que eu estou usando é comercial
este modelo aqui oh
http://global.ebay.com/STM32F103RBT6-Development-Board-W-28-TFT-Module-True-Color-Touch-Screen-Panel/251075980222/item (http://global.ebay.com/STM32F103RBT6-Development-Board-W-28-TFT-Module-True-Color-Touch-Screen-Panel/251075980222/item)
Ainda nao consegui programa-lo, quando eu programo com pic usb
Eu uso uma função para saber se tem algum dado no USB
ai se tiver ele coloca esses dados em uma variavel, tipo assim
if(usb_kbhit(1)){ //Se recebeu algum dados do computador
usb_get_packet(1,recebe,64); //essa função pega os dados de 64byte que o pc envia e coloca na variavel recebe
//ai depois eu posso trabalhar com essa variavel...
essa função que estou procurando no keil mas nao consigo
com a variavel recebe eu por exemplo
if(recebe=='teste'){// executa determinada função !!
output_high(PIN_D0); //Acende um led
}
isso ai que estou precisando arthur
}