Pages: [1]   Go Down
Author Topic: Verificar se uma variavel byte esta carregada ou nao  (Read 653 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve galera, tenho uma variavel byte e precisava verificar se ela esta com informações ou nao, alguem sabe como fazer isso?

segue a declaração da variavel

byte vetor[2][6] = {B01110000,B10001000,B10001000,B11111000,B10001000,B10001000};


Obrigado!
Logged

'round the world...
Online Online
Faraday Member
**
Karma: 41
Posts: 3097
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tens a certeza que queres uma matriz? Se sim, porque é que só inicializas metade da matriz?

Define informações... algo vai escrever para uma variável e só sabendo o que é é que podes saber se é o que pretendes ou não.
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Intao na realidade eu preciso desta declaração como ta mesmo pq eu estou trabalhando em um projeto que eu leio informação do teclado e jogo para variavel porem necessito verificar se esta variavel ja esta com dados ou nao antes de atribuir as informações do usuario.

a declaração correta seria

byte vector[100][6] = {};

ai antes de atribuir os dados preciso verificar se a mesma esta vazia
Logged

'round the world...
Online Online
Faraday Member
**
Karma: 41
Posts: 3097
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

600 bytes?

Sabes o tamanho da memória do Arduino?

Para saberes se tens dados ou não, tens de manter uma variável com o apontador para o próximo local a escrever...

Ou seja:

Code:

unsigned char vector [100][6];
unsigned char x_vect = 0;

void write_value(unsigned char value) {
   vector[x_vect][x_vect%6] = value;
}

Isto assumindo que vais guardar os dados sequencialmente... é assim que vais fazer?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

é os dados vao ser gravados sequencial porem nao posso declarar a variavel do tipo char ela obrigatoriamente tem que ser do tipo byte. ja a questão da memoria do arduino irei utilizar um cartao sd para gravar estes dados
Logged

'round the world...
Online Online
Faraday Member
**
Karma: 41
Posts: 3097
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sabes o que é um byte e o que é um char?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

eu sei, mais a questão é a seguinte estou utilizando desta maneira pois o software que estou fazendo é para enviar mensagens para uma matriz de led onde utilizo esta variavel byte para informar para o arduino quando o led ira acender ou nao por isso 0 e 1. se eu passar uma string de zeros e um nao da certo, pois o mesmo só funciona como byte
Logged

'round the world...
Online Online
Faraday Member
**
Karma: 41
Posts: 3097
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Um byte é um unsigned char. Na definição formal da linguagem C não existe o tipo "byte" ou "word" como vi há dias.

Daí que usar unsigned char ou byte é a mesma coisa... claro que podes mudar o tipo de variável para byte ou para o que quiseres... isso não importa aqui.
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ah sim, intao pelo que eu dei uma pequisada aqui acho q cheguei em algo que pode funcionar

vou declarar a variavel assim:

byte vector[100][6] = {};

dai após atribuir os valores digitados pelo usuario irei verificar desta maneira

for(i=0;i<=100;i++){
          if((vector[6]  > 64 && vector[6] < 91) || (vector[6] > 96 && vector[6] < 123)){
                  Serial.println("matriz carregada com letras ou numeros");
          }
}

pois para mim nao importa saber qual letra ou qual numero foi digitado e sim saber se tem uma letra ou um numero digitado!


irei testar aqui mais acho q vai funcionaer ok


vlw ai pela ajuda
Logged

'round the world...
Online Online
Faraday Member
**
Karma: 41
Posts: 3097
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Não vai... esse código não especifica a coluna onde estás a escrever.
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ops faltou coisa

Code:
for(i=0;i<=100;i++){
             if((vector[i][6]  > 64 && vector[i][6] < 91) || (vector[i][6] > 96 && vector[i][6] < 123)){
                      Serial.println("matriz carregada com letras ou numeros");
             }
}
« Last Edit: March 19, 2013, 12:39:15 pm by eltoncorsi » Logged

Pages: [1]   Go Up
Jump to: