网站建设资讯

NEWS

网站建设资讯

c语言cli函数 cla函数

c语言怎么保留分数和根号啊,还有怎么输入根号,求大神解答

c语言没办法保留分数,只有小数,要写分数就要用到复杂的数据结构

创新互联公司主营丰宁网站建设的网络公司,主营网站建设方案,App定制开发,丰宁h5小程序定制开发搭建,丰宁网站营销推广欢迎丰宁等地区企业咨询

根号就是一个函数sqrt(x)

用sqrt时候记得

#includemath.h

谁能给我一个avr单片机SPI通信的实例,简单的能体现出基本原理就可以,最好有比较详细注解,C语言的.

主机:

//SPI双机通信 主机//发送0x09,接收方PD0~3,对应点小灯

//包含所需头文件

#include avr/io.h

#include avr/interrupt.h

#include avr/signal.h

// SS PB4

// MOSI PB5

// MISO PB6

// SCK PB7

/*------宏定义------*/

#define uchar unsigned char

#define uint unsigned int

#define BIT(x) (1(x))

#define NOP() asm("nop")

#define WDR() asm("wdr")

/*------函数定义------*/

void spi_write(uchar sData);

uchar spi_read(void);

//端口初始化

void port_init(void)

{

DDRD = 0XFF;

PORTB=PORTB|0b11110000; //SCK MISO MOSI SS 使能上拉

DDRB=DDRB0b10111111; //MISO 置为输入

DDRB=DDRB|0b10110001; //SCK MOSI SS 置为输出

}

void spi_init(void) //spi初始化

{

DDRB|=(~(1PB5))|(1PB7)|(1PB4)|(~(1PB4));

SPCR = 0xF1;

SPSR = 0x01;

}

SIGNAL(SIG_SPI) //一个字节发送或接收完成中断

{

PORTD=SPDR;

}

void spi_write(uchar sData)//功能:使用SPI发送一个字节

{

SPDR = sData;

while(!(SPSR BIT(SPIF)));

//sData=SPDR;//读从机发回来的数据

}

uchar spi_read(void)//功能:使用SPI接收一个字节

{

SPDR = 0x00;

while(!(SPSR BIT(SPIF)));

return SPDR;

}

void init_devices(void)

{

cli(); //禁止所有中断

MCUCR = 0x00;

MCUCSR = 0x80;//禁止JTAG

GICR = 0x00;

port_init();

spi_init();

sei();//开全局中断

}

//主函数

int main(void)

{

init_devices();

spi_write(0X09);

while(1)

{

NOP();

}

return 0;

}

从机:

//SPI双机通信 从机

//发送0x06,PA0~3接收

//包含所需头文件

#include avr/io.h

#include avr/interrupt.h

#include avr/signal.h

/*------宏定义------*/

#define uchar unsigned char

#define uint unsigned int

#define BIT(x) (1(x))

#define NOP() asm("nop")

#define WDR() asm("wdr")

/*------函数定义------*/

void spi_write(uchar sData);

uchar spi_read(void);

//端口初始化

void port_init(void)

{

DDRA = 0XFF;

PORTB=PORTB|0b11110000; //SCK MISO MOSI SS 使能上拉

DDRB=DDRB0b01001111; // SCK MOSI SS 置为输入

DDRB=DDRB|0b01000001; // MISO 置为输出

}

void spi_init(void) //spi初始化

{

DDRB|=(1PB5)|(~(1PB7))|(~(1PB4))|(~(1PB4));

SPCR = 0xE1;

SPSR = 0x00;

}

SIGNAL(SIG_SPI) //一个字节发送或接收完成中断

{

DDRA=0XFF;

PORTA=spi_read();

}

//功能:使用SPI发送一个字节

void spi_write(uchar sData)

{

SPDR = sData;

while(!(SPSR BIT(SPIF)));

//sData=SPDR;//读从机发回来的数据

}

//功能:使用SPI接收一个字节

uchar spi_read(void)

{

SPDR = 0x00;

while(!(SPSR BIT(SPIF)));

return SPDR;

}

void init_devices(void)

{

cli(); //禁止所有中断

MCUCR = 0x00;

MCUCSR = 0x80;//禁止JTAG

GICR = 0x00;

port_init();

spi_init();

sei();//开全局中断

}

//主函数

int main(void)

{

init_devices();

spi_write(0X06);

while(1)

{

NOP();

}

return 0;

}

在C中int表示返回整型默认return0,但函数遇到return就会停止然后返回为0,怎么回事?

c语言 函数, 是有类型的。当你没有写明类型时,默认是整型。

函数 里通常要有 return 语句。return 语句 用来 返回数值。

只有 void 型函数 没有 返回值, 不需要 return 语句。

main 函数 是主函数,它也 需要 return 语句,习惯上,大家都用 return 0;

main 函数的返回值 是送返给操作系统,初级编程人员可以不必细究 它的作用,程序里写上 return 0; 或 return 1; 即可。

一个函数可以有多个return 语句,根据符合某条件执行相应的return 语句。 程序执行到 return 语句就 送返 返回值,结束本函数。

return 语句 应写成

return 表达式;

最简单的 表达式 是 1个常数,例如 0。

少数编译器允许就写 return ; 这时 默认 返回 0。


本文名称:c语言cli函数 cla函数
当前路径:http://cdweb.net/article/doopcsj.html