main.c

来自「simple program in using SPI as master i」· C语言 代码 · 共 35 行

C
35
字号
#define F_CPU 10000000UL
#include <stdio.h>
#include <avr/io.h>
#include <avr/iom32.h>
#include <util/delay.h>
#include <avr/pgmspace.h>
#define  loop_until_bit_is_clear(sfr, bit)   do { } while (bit_is_set(sfr, bit)) 
#define  sbi(port, bit) (port) |= (1 << (bit))
#define pi 3.141592654

#define  sbi(port, bit) (port) |= (1 << (bit))
#define  cbi(port, bit) (port) &= ~(1 << (bit))



int main(void)
{


DDRB = (1<<PINB5)|(1<<PINB7)|(1<<PINB4);

/* Enable SPI, Master, set clock rate fck/16 */
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
DDRA=0; // PORTA as input

	while (1){
	cbi(PORTB, 4);
	SPDR = PINA;// read the data from PORTA and transmit it through SPI
/* Wait for transmission complete */
  while(!(SPSR & (1<<SPIF))){}
  sbi(PORTB, 4);
	 }
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?