Transmit buffer
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user