From 319b3a68ee64d8549524b53fba2934e94c07d19e Mon Sep 17 00:00:00 2001 From: Joshua Drake Date: Tue, 23 Apr 2024 01:27:55 -0500 Subject: Added files that were forgotten in previous commits. --- mcc_generated_files/mssp1_spi.c | 148 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 mcc_generated_files/mssp1_spi.c (limited to 'mcc_generated_files/mssp1_spi.c') diff --git a/mcc_generated_files/mssp1_spi.c b/mcc_generated_files/mssp1_spi.c new file mode 100644 index 0000000..d776f9e --- /dev/null +++ b/mcc_generated_files/mssp1_spi.c @@ -0,0 +1,148 @@ +/** + MSSP1_SPI Generated Driver API Header File + + @Company + Microchip Technology Inc. + + @File Name + mssp1_spi.c + + @Summary + This is the generated source file for the MSSP1_SPI driver using PIC24 / dsPIC33 / PIC32MM MCUs + + @Description + This source file provides APIs for driver for MSSP1_SPI. + Generation Information : + Product Revision : PIC24 / dsPIC33 / PIC32MM MCUs - 1.171.4 + Device : PIC24FV16KM202 + The generated drivers are tested against the following: + Compiler : XC16 v2.10 + MPLAB : MPLAB X v6.05 +*/ + +/* + (c) 2020 Microchip Technology Inc. and its subsidiaries. You may use this + software and any derivatives exclusively with Microchip products. + + THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION + WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION. + + IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND + WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS + BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE + FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN + ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + + MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE + TERMS. +*/ + +/** + Section: Included Files +*/ + +#include "mssp1_spi.h" + +/** + Section: Driver Interface +*/ + + +void MSSP1_SPI_Initialize (void) +{ + // SMP End; CKE Idle to Active; + SSP1STAT = 0x80; + // SSPEN enabled; WCOL no_collision; CKP Idle:Low, Active:High; SSPM FOSC/(2 * (BRG_Value_SPI + 1)); SSPOV no_overflow; + SSP1CON1 = 0x2A; + // ACKEN disabled; GCEN disabled; PEN disabled; ACKDT acknowledge; RSEN disabled; RCEN disabled; SEN disabled; + SSP1CON2 = 0x00; + // SBCDE disabled; BOEN disabled; SCIE disabled; PCIE disabled; DHEN disabled; SDAHT 100ns; AHEN disabled; + SSP1CON3 = 0x00; + // AMSK 0; + SSP1MSK = 0x00; + // SSPADD 1; + SSP1ADD = 0x01; +} + +uint8_t MSSP1_SPI_Exchange8bit( uint8_t data ) +{ + + SSP1BUF = data; + + while (SSP1STATbits.BF == false) + { + + } + + return SSP1BUF; +} + +uint8_t MSSP1_SPI_Exchange8bitBuffer(uint8_t *dataTransmitted, uint8_t bufLen, uint8_t *dataReceived) +{ + uint16_t bytesWritten = 0; + + if(dataTransmitted != NULL) + { + if(dataReceived != NULL) + { + while(bytesWritten < bufLen ) + { + dataReceived[bytesWritten] = MSSP1_SPI_Exchange8bit(dataTransmitted[bytesWritten]); + bytesWritten++; + } + }else + { + while(bytesWritten < bufLen ) + { + MSSP1_SPI_Exchange8bit(dataTransmitted[bytesWritten]); + bytesWritten++; + } + } + } + else + { + if(dataReceived != NULL) + { + while(bytesWritten < bufLen ) + { + dataReceived[bytesWritten] = MSSP1_SPI_Exchange8bit(MSSP1_SPI_DUMMY_DATA); + bytesWritten++; + } + } + } + return bytesWritten; +} + +bool MSSP1_SPI_IsBufferFull( void ) +{ + return (!SSP1STATbits.BF); +} + +bool MSSP1_SPI_HasWriteCollisionOccured( void ) +{ + return (!SSP1CON1bits.WCOL); +} + +bool MSSP1_SPI_HasReceiveOverflowOccured( void ) +{ + return (!SSP1CON1bits.SSPOV); +} +void SPI_slaveSelect(void) +{ + _LATB15 = 0; +} + + +void SPI_slaveDeselect(void) +{ + _LATB15 = 1; +} + +/** + End of File +*/ -- cgit v1.2.3