LPC1769を使用してSPIを使用して特定のデータをFPGAに送信する必要があります。しかし、私はこれにどのように接近すべきかをよく理解していません。私は現在、hardfaultハンドラで終わるこのコードを持っています。私はCMSISを使うことが許されていないので、私は自分自身でレジスタを定義しなければならなかった。LPC1769のSPI周辺機器
void sendData(uint8_t *buf, uint32_t Length) {
uint32_t i;
for (i = 0; i < Length; i++) {
while (S0SPSR != (1 << 7)) {
S0SPDR = *buf;
gpio0WritePin(15, 1);
gpio0WritePin(15, 0);
buf++;
}
}
return;
}
と私の主な機能:
uint8_t TX[16];
int main(void) {
SpiInit();
TX[0] = 0x48;
TX[1] = 0x65;
TX[2] = 0x6c;
TX[3] = 0x6c;
TX[4] = 0x6f;
while (1) {
SPI_Begin();
sendData((uint8_t*)TX, 5);
SPI_End();
}
}
この問題はどこにでも、特にここには表示されていないコードで問題になる可能性があります。あなたはそれをデバッグする必要があります。フォルトステータスレジスタを調べ、それを追跡します。 –
ポインタをbufから標準配列に変更すると、もはやハードフォールトハンドラには終わりません – Arrrow