Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-03-2011, 10:48   #1
Jackn
Member
 
Iscritto dal: Feb 2008
Messaggi: 58
[Matlab] Comunicazione Matlab porta Com

Salve,
ho un microcontrollore PIC16F690 che è collegato a 8 convertitori A/D(12 bit di risoluzionie e 2 canali ognuno),dovrei interfacciarlo a matlab.
Questo pic è connesso ad una porta com e funziona così:
-devo inviare un carattere di sincronismo 's' per aspettare i numero di canali
-inviare il carattere 'a' per inizio trasmissione
-inviare il carattere 'b' di fine trasmissione
il seguente codice è scritto in c ed è quello del pic(metto solo per il primo canale):
Codice:
    while(1){
	  //Inizializzo le variabili
       c=0;
       canali=0;
       d=0;
       
       //Attendo il carattere di sincronismo
       while(d!='s'){
          if(kbhit()){
             d=fgetc(pc);
             }
      }
      
   //Attendo il numero di canali da cui acquisire
      while(canali==0){
         if(kbhit()){
            canali=fgetc(pc);  
            }
        }
        num_canali=canali-48;   //48 è il codice ascii di 0
        
       //Attendo il carattere di start (inizio acquisizione)
       while(c!='a'){
          if(kbhit()){
             c=fgetc(pc);
             }
          }
          
          //Inizio l'acquisizione
          while(c!='b'){
             for(i=0;i<num_canali;i++){
                switch(i){
				//Acquisisco dal primo canale
	                 	case 0:         
                   	set_adc_channel(5);
                   	delay_us(10);
                   	value=read_adc();
                   	delay_us(30);
                   	low=value;
                  	high=value>>8;
                  	fputc(low,pc);
                  	fputc(high,pc);
                  	break;
                        
                        case 1: ...........
come notate invia prima il bit meno significativo e poi quello più significativo.
il codice invece implementato in matlab è il seguente:
Codice:
rs232='COM3';
s=serial(rs232,'BaudRate',19200,'DataBits',8,'StopBits',1);

fopen(s);
pause(2);
fwrite(s,'s');
pause(1);
fwrite(s,1);
pause(1);
fwrite(s,'a');

i=1;
j=1;
k=1;

while i<10
   

   vett=fread(s,s.BytesAvailable,'uint8');
   pause(2);
   while j<lenght(vett)
       low(k)=vett(j);
       j=j+1;
       high(k)=vett(j);
       k=k+1;
   end
 i=i+1
end
fwrite(s,'b');
fclose(s);

z=1;
vbe=0.0048875855327468230694037145650049;   //risoluzione(5/(2^12))
while z<length(high)
  % Quanto di un campione del primo canale
    quanto1=high(z)*256+low(z);    
    signal1(z)=vbe*double(quanto1);    
    %Incremento variabile di conteggio
    z=z+1;
end

plot(signal1,'*b'), title('Primo canale')
Ma non funzione bene..
cosa sbaglio??
grazie mille
Jackn è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v