main.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #include "stm32f4xx_gpio.h"
  2. #include "stm32f4xx_rcc.h"
  3. #include "clock.h"
  4. #include "delay.h"
  5. #include "myUart.h"
  6. #include "myRadio.h"
  7. static rfRxPacket_ts rfRecvPacket;
  8. static rfTxPacket_ts rfTxPacket;
  9. static bool rftxflag = true;
  10. void rfRx_callback(uint8_t status, rfRxPacket_ts packet)
  11. {
  12. switch (status)
  13. {
  14. case RX_STA_SECCESS:
  15. {
  16. printf("RX_STA_SECCESS\r\n");
  17. rfRecvPacket = packet;
  18. printf("rf get Packet:%s\r\n", rfRecvPacket.payload);
  19. myRadio_receiver();
  20. }
  21. break;
  22. case TX_STA_SECCESS:
  23. {
  24. printf("TX_STA_SECCESS\r\n");
  25. myRadio_receiver();
  26. rftxflag = false;
  27. }
  28. break;
  29. default:
  30. break;
  31. }
  32. }
  33. int main(void)
  34. {
  35. SCB->VTOR = FLASH_BASE; // Vector Table Relocation in Internal FLASH
  36. HSI_Init(16, 200, 2, 7);//高速的内部时钟为16M,配置之后为:16/16*112/2=56M
  37. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); //中断分组配置
  38. myUart1_init(115200, 0); //串口1初始化
  39. myRadio_init(0, rfRx_callback);
  40. myRadio_receiver();
  41. unsigned int i,j,k,Test = 0;
  42. printf("Hello World!\r\n");
  43. while(1)
  44. {
  45. if (rftxflag == false)
  46. {
  47. if (Test++ >= 100)
  48. {
  49. Test = 0;
  50. rftxflag = true;
  51. rfTxPacket.len = 5;
  52. strcpy(rfTxPacket.payload, "hello");
  53. myRadio_transmit(&rfTxPacket);
  54. }
  55. }
  56. myRadio_delay(10);
  57. myRadio_process();
  58. }
  59. }