Transmit buffer

This commit is contained in:
2024-05-07 11:32:12 -03:00
parent 6b2ef5f1dc
commit 731815ba09
5 changed files with 25 additions and 11 deletions

View File

@@ -43,9 +43,11 @@ void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t transferDirection, ui
HAL_I2C_Slave_Seq_Receive_DMA(hi2c, receivingBuffer + receivingBufferDataSize, 1, I2C_NEXT_FRAME);
}else{
slaveMode = Transmitting;
transmittingBuffer[0] = 0x55;
transmittingBufferDataSize = 1;
if(transmittingBufferDataSize){
HAL_I2C_Slave_Seq_Transmit_DMA(hi2c, transmittingBuffer, transmittingBufferDataSize, I2C_LAST_FRAME);
}else{
}
}
}
@@ -68,7 +70,7 @@ void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) {
}
void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) {
transmittingBufferDataSize = 0;
//transmittingBufferDataSize = 0;
}
void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) {
@@ -76,9 +78,15 @@ void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) {
}
void Start(){
uint8_t byte[4] = {33, 34, 35, 36};
HAL_I2C_EnableListen_IT(&hi2c3);
while(1){
HAL_GPIO_TogglePin(LD3_GPIO_Port, LD3_Pin);
HAL_Delay(10000);
transmit(byte, 3);
byte[0]++;
byte[1]++;
byte[2]++;
byte[3]++;
HAL_Delay(500);
}
}

View File

@@ -246,7 +246,7 @@ static void MX_I2C3_Init(void)
hi2c3.Instance = I2C3;
hi2c3.Init.ClockSpeed = 100000;
hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c3.Init.OwnAddress1 = 126;
hi2c3.Init.OwnAddress1 = 32;
hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c3.Init.OwnAddress2 = 0;

View File

@@ -29,7 +29,7 @@
#include <time.h>
#include <sys/time.h>
#include <sys/times.h>
#include "main.h"
/* Variables */
extern int __io_putchar(int ch) __attribute__((weak));
@@ -80,7 +80,7 @@ __attribute__((weak)) int _write(int file, char *ptr, int len)
for (DataIdx = 0; DataIdx < len; DataIdx++)
{
__io_putchar(*ptr++);
ITM_SendChar(*ptr++);
}
return len;
}

View File

@@ -1,4 +1,7 @@
#MicroXplorer Configuration settings - do not modify
CAD.formats=
CAD.pinconfig=
CAD.provider=
Dma.I2C3_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.I2C3_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.I2C3_RX.0.Instance=DMA1_Stream1
@@ -24,7 +27,7 @@ Dma.Request1=I2C3_TX
Dma.RequestsNb=2
File.Version=6
I2C3.IPParameters=OwnAddress
I2C3.OwnAddress=0x3F
I2C3.OwnAddress=0x10
I2S2.AudioFreq=I2S_AUDIOFREQ_96K
I2S2.ErrorAudioFreq=0.15 %
I2S2.FullDuplexMode=I2S_FULLDUPLEXMODE_ENABLE
@@ -347,10 +350,13 @@ ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=F411-i2c-peripheral.ioc
ProjectManager.ProjectName=F411-i2c-peripheral
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_I2C1_Init-I2C1-false-HAL-true,5-MX_I2S2_Init-I2S2-false-HAL-true,6-MX_I2S3_Init-I2S3-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_USB_HOST_Init-USB_HOST-false-HAL-false,9-MX_I2C3_Init-I2C3-false-HAL-true
RCC.48MHZClocksFreq_Value=48000000

View File

@@ -38,8 +38,8 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
_Min_Heap_Size = 0x200 ; /* required amount of heap */
_Min_Stack_Size = 0x400 ; /* required amount of stack */
_Min_Heap_Size = 0x200; /* required amount of heap */
_Min_Stack_Size = 0x400; /* required amount of stack */
/* Memories definition */
MEMORY