diff --git a/include/libopencm3/lpc43xx/ssp.h b/include/libopencm3/lpc43xx/ssp.h index ea10bccd..b03c9176 100644 --- a/include/libopencm3/lpc43xx/ssp.h +++ b/include/libopencm3/lpc43xx/ssp.h @@ -196,6 +196,8 @@ void ssp_init(ssp_num_t ssp_num, u16 ssp_transfer(ssp_num_t ssp_num, u16 data); +uint16_t ssp_transfer(ssp_num_t ssp_num, uint16_t data); + END_DECLS /**@}*/ diff --git a/lib/lpc43xx/ssp.c b/lib/lpc43xx/ssp.c index 467fbf8b..edf547b6 100644 --- a/lib/lpc43xx/ssp.c +++ b/lib/lpc43xx/ssp.c @@ -134,5 +134,12 @@ uint16_t ssp_transfer(ssp_num_t ssp_num, uint16_t data) return SSP_DR(ssp_port); } + +uint16_t ssp_transfer(ssp_num_t ssp_num, uint16_t data) +{ + ssp_write(ssp_num, data); + return ssp_read(ssp_num); +} + /**@}*/