cs1180.c 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include <string.h>
  2. #include "spi.h"
  3. #include "cs1180.h"
  4. #define CS1180_RDATA 0X01
  5. #define CS1180_RDATAC 0X03
  6. #define CS1180_STOPC 0x0f
  7. #define CS1180_RREG 0x10
  8. #define CS1180_WREG 0x05
  9. #define CS1180_CALSELF 0xf0
  10. #define CS1180_OCALSELF 0xf1
  11. #define CS1180_SLFGCAL 0xf2
  12. #define CS1180_OCALSYS 0xf3
  13. #define CS1180_GCALSYS 0xf4
  14. #define CS1180_WAKEUP 0xfb
  15. #define CS1180_SYNC 0xfc
  16. #define CS1180_SLEEP 0xfd
  17. #define CS1180_RESET 0xfe
  18. static void _spi_write_data(uint8_t data);
  19. static uint8_t _spi_read_data(uint8_t data);
  20. void cs1180_init(void){
  21. spi1_init();
  22. _spi_read_data(0xFF);
  23. }
  24. static void _spi_write_data(uint8_t data){
  25. spi1_send_byte(data, NULL);
  26. }
  27. static uint8_t _spi_read_data(uint8_t data){
  28. uint8_t r_data = 0xFF;
  29. spi1_send_byte(data, &r_data);
  30. return r_data;
  31. }
  32. void cs1180_osalsys(void)
  33. {
  34. //------×ÔУ׼
  35. cs1180_cs(0);
  36. _spi_write_data(CS1180_OCALSYS);
  37. cs1180_cs(1);
  38. }
  39. void cs1180_calibSelf(void)
  40. {
  41. //------×ÔУ׼
  42. cs1180_cs(0);
  43. _spi_write_data(CS1180_CALSELF);
  44. cs1180_cs(1);
  45. }