本文目錄一覽:
單片機怎麼用c語言設置I/O口輸入或輸出
IO口的輸入輸出是通過對單片機寄存器的配置來實現的。
C51的單片機IO口本來就是雙向的不需要設置。
STM32單片機的IO口用C語言的設置方法如下:
void LED_Config(void)
{
GPIO_InitTypeDef GPIO_Structure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
//PC10-LED(指示燈)
GPIO_Structure.GPIO_Pin = GPIO_Pin_10;
GPIO_Structure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Structure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC,GPIO_Structure); //LED
}
模擬開關燈實驗:編程實現2個開關控制1個燈的亮,滅,C語言
sbit B1=P2^0;
sbit B2=P2^1;
sbit LED=P1^1;
void delay(){
unsigned int a=3000;
while(a–){
;
}
}
void delay1(){
unsigned int a=2000;
while(a–){
;
}
}
main(){
while(1){
if(B1==0){
delay1();
if(B1==0){
LED=1;
}
}
if(B2==0){
delay1();
if(B2==0){
LED=0;
}
}
}
}
單片機I/O口,C語言怎麼設置輸入?
單片機的IO口,如51單片機的IO口,直接是雙向IO口,不需要設置即可用作輸入或者輸出。
如P0=0x40;這裡是設置為輸出;Temp=P2;這是將P2口作為輸入讀取數據
有些單片機如STM32單片機的IO口是多功能復用IO口,只需要指定IO口的模式即可
如STM32的LED驅動IO口設置初始化程序如下:
void LED_Config(void)
{
GPIO_InitTypeDef GPIO_Structure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
//PC10-LED(指示燈)
GPIO_Structure.GPIO_Pin = GPIO_Pin_10;
GPIO_Structure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Structure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC,GPIO_Structure); //LED
}
編程實驗 c語言,求代碼
1、唯一要注意的是float型無法直接用%x進行十六進位的輸出,需要用某種方法依次取它的各位元組數據來輸出。
#include
“stdio.h”
void
main()
{
short
a=-12335;
int
b;
unsigned
short
c;
unsigned
int
d;
int
e;
float
f;
unsigned
char
*p;
b=(int)a;
printf(“%d
%x\n”,b,b);
c=(unsigned
short)b;
printf(“%u
%x\n”,c,c);
d=(unsigned
int)c;
printf(“%u
%x\n”,d,d);
e=(int)d;
printf(“%d
%x\n”,e,e);
f=(float)e;
printf(“%f
“,f);
p=(unsigned
char
*)f;
printf(“%x%x%x%x\n”,p[3],p[2],p[1],p[0]);
}
2、double型和float型數據要輸出16進位形式,都要用1中用的方法
#include
“stdio.h”
void
main()
{
float
a=123456.789e5;
double
b;
float
c;
unsigned
char
*p;
int
i;
b=(double)a;
printf(“%lf
“,b);
p=(unsigned
char*)b;
for(i=sizeof(double)-1;i=0;i–)
printf(“%x”,p[i]);
printf(“\n”);
c=(float)b;
printf(“%f
“,c);
p=(unsigned
char*)c;
for(i=sizeof(float)-1;i=0;i–)
printf(“%x”,p[i]);
printf(“\n”);
}
3、題目要求看不懂,不知道效率是什麼意思
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193465.html