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); }