twi2c.c 1008 B

123456789101112131415161718192021222324252627282930313233
  1. /* Copyright 2018 Jack Humbert
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #include "twi2c.h"
  17. #ifndef I2C_DRIVER
  18. #define I2C_DRIVER &I2CD1
  19. #endif
  20. static const I2CConfig i2cconfig = {
  21. STM32_TIMINGR_PRESC(15U) |
  22. STM32_TIMINGR_SCLDEL(4U) | STM32_TIMINGR_SDADEL(2U) |
  23. STM32_TIMINGR_SCLH(15U) | STM32_TIMINGR_SCLL(21U),
  24. 0,
  25. 0
  26. };
  27. void twi2c_init(void) {
  28. i2cStart(I2C_DRIVER, &i2cconfig);
  29. }