- atomic {\r
- if ((txBuf == NULL) && (enableRWOT == TRUE)) {\r
- \r
- call SSP.setSSCR0(flagsSSCR0);\r
- call SSP.setSSCR1(flagsSSCR1 | SSCR1_RWOT);\r
- call SSP.setSSCR0(flagsSSCR0 | SSCR0_SSE);\r
- while (len > 0) {\r
- while (!(call SSP.getSSSR() & SSSR_RNE));\r
- *rxPtr = call SSP.getSSDR();\r
- rxPtr += rxInc;\r
- len--;\r
- }\r
- call SSP.setSSCR0(flagsSSCR0);\r
- call SSP.setSSCR1(flagsSSCR1);\r
- call SSP.setSSCR0(flagsSSCR0 | SSCR0_SSE);\r
- }\r
- else {\r
- uint8_t burst = (len < 16) ? len : 16;\r
- for (i = 0;i < burst; i++) {\r
- call SSP.setSSDR(*txPtr);\r
- txPtr += txInc;\r
- }\r
- call SSP.setSSCR1(flagsSSCR1 | SSCR1_TINTE | SSCR1_RIE);\r
- /*\r
- while (len > 16) {\r
- for (i = 0;i < 16; i++) {\r
- call SSP.setSSDR(*txPtr);\r
- txPtr += txInc;\r
- }\r
- while (call SSP.getSSSR() & SSSR_BSY);\r
- for (i = 0;i < 16;i++) {\r
- *rxPtr = call SSP.getSSDR();\r
- rxPtr += rxInc;\r
- }\r
- len -= 16;\r
- }\r
- for (i = 0;i < len; i++) {\r
- call SSP.setSSDR(*txPtr);\r
- txPtr += txInc;\r
- }\r
- while (call SSP.getSSSR() & SSSR_BSY);\r
- for (i = 0;i < len;i++) {\r
- *rxPtr = call SSP.getSSDR();\r
- rxPtr += rxInc;\r
- }\r
- */\r
- }\r
+ if ((txBuf == NULL) && (enableRWOT == TRUE)) {\r
+ call SSP.setSSCR0(FLAGS_SSCR0);\r
+ call SSP.setSSCR1(FLAGS_SSCR1 | SSCR1_RWOT);\r
+ call SSP.setSSCR0(FLAGS_SSCR0 | SSCR0_SSE);\r
+ while (len > 0) {\r
+ while (!(call SSP.getSSSR() & SSSR_RNE));\r
+ *rxPtr = call SSP.getSSDR();\r
+ rxPtr += rxInc;\r
+ len--;\r
+ }\r
+ call SSP.setSSCR0(FLAGS_SSCR0);\r
+ call SSP.setSSCR1(FLAGS_SSCR1);\r
+ call SSP.setSSCR0(FLAGS_SSCR0 | SSCR0_SSE);\r
+ }\r
+ else {\r
+ uint8_t burst = (len < 16) ? len : 16;\r
+ for (i = 0;i < burst; i++) {\r
+ call SSP.setSSDR(*txPtr);\r
+ txPtr += txInc;\r
+ }\r
+ call SSP.setSSCR1(FLAGS_SSCR1 | SSCR1_TINTE | SSCR1_RIE);\r