Wysłanie wartości przez port szeregowy

0

Witam,

chciałem spytać jak moge wysłać przez port szeregowy korzystając z namespace SerialPort wartość 10^6 do mikrokontrolera?
Najchętniej robiłbym to po znaku np.
1
0
0
.
.
.
0
wtedy obsługa pod mikrokontrolerem mogła by wyglądać następująco:

ISR(USART_RXC_vect) 
{ 
	tablica_uart[tablica_int] = UDR; tablica_int++; 
}
 
void przelicz()
{
	czestotliwosc = 0;
	int i;
	int z=1;
	for(i=tablica_int-1  ; i == 0 ; i--)
	{
 
		czestotliwosc = częstotliwosc + tablica_uart[i]*z;
		z=z*10;	
	}
	tablica_int = 0;
	return czestotliwosc;
}
0

a nie lepiej po prostu wysłać inta, czyli cztery bajty?

0
  1. biblioteka nie umożliwia takiej operacji
  2. rejestr UDR odpowiedzialny za odczyt danych na mikrokontrolerze ma rozmiar 1B
0

Czy takie rozwiązanie ma szanse zadzialać?

 
private void nCzestotliwosc_ValueChanged(object sender, EventArgs e)
        {
            if((!port.IsOpen)&&(pom>0))
            {
                port.Open();
                int freq = System.Convert.ToInt32(nCzestotliwosc.Value);
                string wartosc = freq.ToString("0000000");
                Byte[] send = {(Byte)255};
                port.Write(send,0,1);
                for(int i=0;i<wartosc.Length;i++)
                {
                    Byte [] tmp = {System.Convert.ToByte(wartosc.Substring(i,1))};
                        Console.WriteLine(System.Convert.ToByte(wartosc.Substring(i, 1)));
                        Console.ReadKey();
                    port.Write(tmp,0,1);
                }
                Byte[] send2={(Byte)254};
                port.Write(send2,0,1);
                port.Close();
            }
        }
0
  1. biblioteka nie umożliwia takiej operacji
    No co ty gadasz.
public void Write(
	byte[] buffer,
	int offset,
	int count
)

kwestia przerobienia inta na tablicę bajtów, ale to łatwo zrobić za pomocą operacji bitowych.

0

Najprościiej po stronie PC rozbij int'a na 4 bajty stosując przesunięcia bitowe i maski zapakuj bajty do tablicy i wyślij,a po stronie mikrokontrolera stosujac podobne metody złóż do kupy

1 użytkowników online, w tym zalogowanych: 0, gości: 1