Ich schicke Daten via I2C um die Schnittstelle zu testen.
Sollte ich am Oszi nicht das Adressbyte und anschliessend das Datenbyte
sehen?
Ich sehe nur die Adresse, aber auch das ist komisch, weil am Schluss
noch ein bit kommt bevor die Leitungen freu werden.
Oder liegt es daran, dass ich auch beim Test einen Slave dran haben
muss, wegen des Ack.?
1 | /* Initialize all configured peripherals */
|
2 |
|
3 | MX_GPIO_Init();
|
4 |
|
5 | MX_I2C1_Init();
|
6 |
|
7 | /* USER CODE BEGIN 2 */
|
8 |
|
9 | uint16_t dAddress = 0x06 << 1; // 0x0C read/write = 0
|
10 |
|
11 | data = 0x02;
|
12 |
|
13 | size_a = sizeof(data);
|
14 |
|
15 | /* USER CODE END 2 */
|
16 |
|
17 |
|
18 |
|
19 | /* Infinite loop */
|
20 |
|
21 | /* USER CODE BEGIN WHILE */
|
22 |
|
23 | while (1)
|
24 |
|
25 | {
|
26 | HAL_I2C_Master_Transmit(&hi2c1, dAddress<<1, &data, size_a,100);
|
27 |
|
28 | HAL_Delay(1);
|
29 |
|
30 |
|
31 |
|
32 | /* USER CODE END WHILE */
|
33 |
|
34 |
|
35 |
|
36 | /* USER CODE BEGIN 3 */
|
37 |
|
38 |
|
39 |
|
40 | }
|
41 |
|
42 | /* USER CODE END 3 */
|