¿qué valor se escribe en los pines del microcontrolador si envío el valor como tipo de carácter en el programa Embedded c?

0
#include<reg51.h>
     sbit sw=P1^0;
     sbit led=P1^1;
    void write(unsigned char m);
     void delay(unsigned char k);

     void main(){
      while(1){ 
        delay(60);    
         sw=1;
         led=0;
         if(sw==1){
           delay(50);
           write(1);}
          else{
           delay(50);
           write(0);} 
           }}

           void write(unsigned char m){
              led=m;}

           void delay(unsigned char i)
           { unsigned int k,l;
           for(l=0;l<=i;l++)
           for(k=0;k<65500;k++);
           }

¿Qué valor recibe la función de escritura si es un carácter o un entero? ¿Quiero enviar un valor entero para escribir en led? ¿es correcto? Por favor, dime

    

1 respuesta

4

char y unsigned char son tipos numéricos; cualquier valor que asigne a una variable de tipo char o unsigned char es el valor que tendrá la variable. Por lo tanto, los valores de 0 y 1 en las dos llamadas están bien.

Sí, C también usa char para representar valores de caracteres, pero eso es una conveniencia: no afecta a qué valores se mantienen. Si asigna 1 a una variable char , la variable mantiene el valor 1 . Si asigna 'a' a una variable char , la variable mantiene cualquier valor que represente el 'a' ; en estos días será 97 , que es la representación ASCII para 'a' .

    
respondido por el Pete Becker

Lea otras preguntas en las etiquetas