示例#1
0
unsigned int Ad9361ReadReg(int via_fpga, int fd, unsigned short addr)
{
    unsigned int val;
	if(1 == via_fpga)
		val = read_spi(fd, addr);
	else
		val = SpiDrvReadReg(fd, addr);
    return val;
}
void SPI1_IRQHandler()//ПРЕРЫВАНИЕ ПО SPI(НАДО ЕЩЕ ДОБАВИТЬ ОПРОСНЫЙ СИГНАЛ И СТРОКУ ОШИБКИ.ТАК ЖЕ НУЖНА ОБРАБОТКА КАЖДОГО БАЙТА)
{
	 if(SPI_I2S_GetITStatus(SPI1, SPI_I2S_IT_RXNE)==SET)
	
	
	read_spi(SPI1,SPIBuffer);
		

	
	
	
	
	
    //ЗДЕСЬ БУДЕТ НЕВЕДОМАЯ ФИГНЯ
	 SPI_I2S_ClearITPendingBit(SPI1, SPI_I2S_IT_RXNE);
}
SpiGui::SpiGui(MainWidgetFrame *parent) : QWidget(parent)
{
	this->parent=parent;

	QLabel *file_label = new QLabel("File: ");
	QLabel *log_label = new QLabel("Log: ");

	QPushButton *read_btn = new QPushButton("Read SPI");
	QPushButton *write_btn = new QPushButton("Write SPI");
	QPushButton *chip_id_btn = new QPushButton("SPI Chip ID");

	file = new QLineEdit;
	msglog = new QTextEdit;
	msglog->setReadOnly(true);

	QVBoxLayout *vlayout = new QVBoxLayout;
	QHBoxLayout *hlayout = new QHBoxLayout;

	connect(read_btn, SIGNAL(clicked()), this, SLOT(read_spi()));
	connect(write_btn, SIGNAL(clicked()), this, SLOT(write_spi()));
	connect(chip_id_btn, SIGNAL(clicked()), this, SLOT(spi_chip_id()));

	vlayout->addWidget(file_label);
	vlayout->addWidget(file);

	hlayout->addWidget(read_btn);
	hlayout->addWidget(write_btn);
	hlayout->addWidget(chip_id_btn);
	
	vlayout->addLayout(hlayout);
	vlayout->addSpacing(50);
	vlayout->addWidget(log_label);
	vlayout->addWidget(msglog);

	setLayout(vlayout);
}