WeActStudio STM32G431 CoreBoard

боюсь не скомпилируется, поддержка же ядром STM для G431 чипа, а тебе наверно сильно не интересно сделать форк своей библиотеки для другого ядра и, пример в твоей библиотеке с настройками по умолчанию я не смог скомпилировать, на твоём форке ядра )))
PS почему, не разбирался

на этой плате? (STM32G431) - не удивительно.
Я форкал ядро, чтобы туда F401/F411 добавить, G431 там никогда и не бло

на F103

Если это интересно - пиши в ветку библиотеки или на гитхаб. Будем разбираться.

Ну, интересы у каждого свои. Что интересно одному, совершенно неинтересно другому.
Опять же, что интересно многим, в значительной степени уже освоено промышленностью.

Это неправильный подход: подбирают камень под задачу, а не задачу под камень.

Видишь ли, публикация проекта - сама по себе большая работа. А кому охота делать большую работу, которая никем не будет востребована?

ход твоих мыслей понятен

Не в службу, а в дружбу. Можешь на этом МК сгенерить файл случайных чисел размером в 1048576. Очень хочется посмотреть как аппаратный генератор работает.

ну если скетч дашь с выводом в сериал, то смогу видимо
и да, генерить надо видимо два раза (два файла)

как-то так, осталось придумать как в файл сливать?

Спойлер
C456F261
7204D765
9A4A1EF9
E799CDFC
33B8BBE5
B9F2BF13
89B88489
39972A5A
B85EF131
568C93CA
2DB2B700
AD5A103E
CA57BE1A
3CFF972E
2A38EC56
60618DE3
C36C1E8A
9846AEC3
A88418E7
20E3F095
2E72697
3FA6BF
BE975053
50075AB9
7BB9368C
2C059EED
8BE278F7
BAC551F1
4C912C1D
D815D7D6
F9F94BC5
9108079
FED1C91E
F6A60705
68938DB5
3288540A
C4A71F07
4883DF67
E7A3266D
298608F
A6624F45
5972ECFD
DBA14347
CF07EF3E
E9180B87
54794C75
2AE38F01
7897C831
8D9931EC
599C3C4
7C843984
303BA02F
85F8AD73
9A002310
11E104F5
39EB39DC
B9F4DF35
C9A797E5
63E507AA
4286785A
B91DEC40
F76521F3
981CC618
14C53E9E
198E824D
C003ACF2
26A98C0C
3CCB0087
96378361
3337AE80
C26E8E96
40DFCFFA
FE007D3D
FE7A303E
3B661EE9
14D0360D
6255E4BA
D3470BAF
7A895AC0
B72F9169
67B69632
6746CA49
72129684
86D8FAD8
A8D3FF4B
5967762
6ABE6018
760275B6
3C75FE25
EDA701AD
AF6D9B8
E5A66270
4814AD50
661C0083
D4FE4253
3285B869
794035A0
F0D17623
1BA4C752
E4F5E59A
B93AD985
9E884C85
3E7C08B9
C272C216
8A387987
F2E9851C
2202ACCA
3A0CF1B7
FFE5EE1D
50D7A105
F90DB572
72D87402
7CD66BC8
53120023
50215A6
8A87FDE5
79DD87C4
386DD696
717E890A
A5096008
ADEF38BA
6BFC1259
45163A98
C137E1DA
57ED2582
850DE5C9
68642C23
C68832C3
E38DEF3B
63A95A0B
2BDD6114
12222E1B
60B1DC35
6363DAE4
9AD77EEC
14DEE36F
B2C95ED
44D8DA14
49B2FF37
B312ED4F
24E4957B
C93141E5
E897350D
1D7BC7E2
F6F849D9
3A6A2D67
A8FAA8C1
651B917B
4C6F2C4E
33F70671
F83BFFBF
6041261D
C98935C7
C483E165
9D2AA4D4
45A20216
603D9AB3
31E86D33
7C8CE323
C0E8290A
C6576476
6BC88221
A6A8E8A3
DC4EA7C3
736FA7CF
41263181
9B4DE2E6
BE0D7BA0
511B8BA4
4EF27DDF
BA4BCF2C
77FFFC6B
4660DDE0
DE0AC2DB
D9CCA022
E03F1E14
4F8FEEF8
44F04B96
8BD275AF
B3D1FAE8
CD37A512
58266AB9
65D33A54
4B1DA121
5DF340C8
CA1F9870
4B82CD27
DEF9B651
C0C3EA39
E74EE278
8931B8D4
4C4861C2
3BA5C5E8
4259C58C
E4E337DB
5443C66E
4E7FCB0B
4B9CF418
34A3AC2
1F0390BC
E03504B0
870636B8
2071B4E4
DD8D653D
2DF25E47
A2DDCBAD
5176060B
35E4BA51
33386E5
70AB8300
14DF15A8
BFCB74B4
8C104F65
59505E4B
A107D45E
CD543F81
B79E59D5
C0ECFCB3
871D6AA3
6A175498
2952C3E6
E52D5A21
3C10938F
8C7340A3
5601FC34
435706C6
B93CF0DE
BD29565D
132D48B8
6F7AD9C5
69D55370
62CC264B
7AEFF662
1DA84C0D
C275B3AB
1000FF57
2EE4D034
F86EE8E2
49D1097B
CD1971F0
8D699221
A1179ED8
F11EE8BD
3388849C
654D153B
C8A78127
86148365
A2F1AE7D
FE12AE2E
EEAE2E3C
555EEC46
D18745AE
2A01BE70
49838FBB
D0B90735
935438A3
7EA0EBB0
C7935751
1CAC5863
75A129BB
AF2AEC4E
D3C76AA8
E2625FB8
FF50AB63
E470DC3B
69776CEB
3BC73B7C
68896926
5BA7CCDD
B1A49FD5
F1D782DC
4DE52D40
719035C3
9B4419DA
37A65943
3CCE9914
D09AF31
39F7C1CF
7A0B1A2B
94EC2DE4
5C27083B
D5BA064E
BC924BDE
CFE1070
578B9AA4
394D4571
8A038316
374CA77
693C811C
E2CD94F7
7BE65E02
32B2D4FB
6A0CD3CF
A2E45A56
B5090E02
F373C144
AFD1C6CE
FE350DE8
9EC6E9FF
EA5BBC7A
8A9ADB42
FE8FC8A6
72162D41
74CC7DFD
D367F6A4
51A05A0B
6A9B6176
FD58ACA7
BA3FC6E0
FBB706ED
8665DEED
E6D06BC0
97E9A218
5BAD5D4B
3977188E
791CD11
5790B973
7EF81128
45E67603
260E1843
DE4D985D
DFD0A80B
23B9B951
D3CB6A33
5D103DB0
18A69348
FD50165B
6B2B7692
A6FF20E1
5878D2B1
CBF6764D
7664DD3F
8402E42D
F5E58B7B
4AC88C9E
77B12AA2
8FC3FD2B
F45AABCB
7C999908
CF5EAA9A
714D5733
9EB1BE2B
8CC0767B
1D7CFD03
1FEF718E
D51023F3
912348A0
97EFB566
E580730B
38AB18F7
E430054F
9001092B
E9FAA25E
9C0D8C95
C712D0F8
5780973A
2CE00E59
8653EFFE
CDA6027B
B615AEA0
530F5382
269DC70C
70535D43
334D3CA2
86879BF0
73E5455D
4DE7CF6
A37F5498
22FB5BD0
9449D56
50FF7F50
49405ED4
9760D5B3
FF9FCE7E
DADD5CC5
CC6D0AEB
77C07AE8
E3F1A487
76A9E842
5F38D8C6
B1741EBA
C25E47C9
3467A9E8
EE71755A
81BA185
6C2733B3
D1497FD2
4668C185
43F54CD7
AF7285F0
8DDC7B15
E3B86746
D4778D85
59B83CBE
D1F1C617
D5BF913A
257886C8
83163CA9
13AE715C
3BA83335
7963C430
7B6F6998
6857E27
A687C2A1
FD386B02
51D578F1
B839BB46
A66EC9CA
4306ACA6
470F63F6
B495F0C3
67CBD932
CF4DE50C
C26119D2
385DF464
D1840A2A
3716B3A2
E84FC424
F0E3278F
496E7088
E646FBE9
53C31500
24C8C4FC
DD1E10A5
C1C1B74D
32BE9BA0
AFD03B74
ABE0E3AA
7565228D
C0E8EC09
35EEC146
A7568778
34CC604C
DCEC99A0
164B1144
BD2DCB4C
2B40B6E1
BA882AB7
D041AC9A
81FFD320
3EE7AD88
8ACBED65
63B15A20
AD8C99B9
797EE6B
5552D64B
DBFAAB79
E28A3363
4E2589E9
8410D57F
27A77BB4
38274A39
36D67ABE
780579FB
2C1429BF
635C4D98
CB22260B
9A4EFC2D
DEC0BCDC
161A840E
6AF9EE8B
EBDA7F5
F484ACF5
F8FF9118
2537E524
A225E05D
E4DE7EE
A8F86044
ED7506CA
7D59E049
8565B08D
92DE8CA3
F7D578EA
23C22841
A242350C
C4663071
438DE95F
6F775AF1
7F5F68A
D435FF2D
3DFF6F83
C0AFA2B6
33616415
FA5B5984
5DD84114
97D4597D
4D9DCAFC
4E2B6E71
9ADF46E9
8196776C
F2936639
D7FE088B
A8F562F1
8BF8C728
EE80BF33
7637563E
44CB5BA0
849E0B2
E463894
4AA20F33
391B8
7A1E6CA4
ACA6FAF0
6B0FAC4B
5965484E
BC411BFF
4D4AA515
636ED764
D4DE8A1B
76710C92
D4E690BC
A2D653EB
CA5A76AD
EC946517
B12AD3C3
A2106C78
BB5F4357
43F1AE8
5BCDA7DD
6EE129F1
65F6334E
D5652D2
99EEB59D
7DB99313
B9EAAC72
6E3F2CD3
7F260
B3C987E4
6BE7A0C
99BAA5E9
4D7430A0
3689D10
ECA47ADE
4E992043
1F10481E
9381505F
15981399
1DCFA4B0
A0E09707
EFAA87FB
9D347404
9045F307
B5722905
D191F3FE
E375F40D
8C6B662F
B555932D
CAD14BF8
2E7467E4
BA09D31A
7CB1962F
8A15DFF1
F44722FC
4D021B0B
4E2B1AA0
1F61FE41
5DFB077D
BCBAE5D8
D9EF0183
FEAEA208
8CD105E6
BC8B5C0
633A4607
9093E6CA
9B7ACAE3
FED7C25F
BA2E6BFD
D7F36D0
A1C92FF4
94E3092A
9F28F139
6E445857
27BA2A77
98FCD8C2
C57C0921
15CDA44A
E31E53A4
E9765254
FE944CF6
9CF238F3
63F50E5D
7032ED30
3AC6CFF3
D75D44F4
62DA681C
D0505C81
516D2382
DDB6AE41
CFCB0D3B
598BF9CF
A18CE357
29C091F5
32FB6639
9F40CABA
506833D
93717257
81012E1D
30131FA9
8FD8CEC2
C950CA87
AEB3EF56
D4AE5BB7
72A7F1D3
143D2AB
E04AD0A7
9C92C158
2BB76597
F1D3A3A6
4707805
BCD62EBB
E9FF325D
2A140011
72BA3C47
100CE141
86E89076
73F81C0
5FEDB341
AFCD4D92
DDCC506D
95529CEB
5AF78DDC
D7229ED6
5D74FD43
4F9B9A73
41F07F9
ABCA1B0C
DD1D2F11
FF2F710B
E949CA8
5754796E
9E3917B9
9D5369C8
BCF971E9
F0D3B0CE
2AB93996
70BBB347
504BD914
F92F14F5
4B700CE4
CC36578B
CE7C6A88
46199A63
D707A61F
54DB1555
BE4ED45B
A6D48BDB
D58CA649
D12B89A6
E4150EA0
3580CE94
48781A5C
638DD8B9
CA243C6C
8CF8293D
A497D9E1
F9532503
E97B4EF7
58632334
C1EC5AE8
E2CC5C5F
437847A1
D8BC39AA
D92D3FA6
BD579071
604EA2E5
AA218E1E
8BE8551E
F1CB7576
7DBC32CA
42249A1F
A82855E1
F03227E4
589F6D5B
5B02354C
11F853E9
BBD49EFB
528F2DCD
B4915F67
81B2314B
B4431814
45346CF3
7286A4EE
F3246AB
70FD045C
E535CDA0
2A56301
2AE3CBA8
82EA34E0
9B2E015C
E1BE88D7
5EAB0394
FFB4F43B
1CA501EF
B6E677DF
2A0A157D
3454A313
2C7F50CB
F2D47839
88DE9F61
57ECE30
3539B797
43984333
6C06D1F7
BB9DF93B
B8E4748
C4C863FD
5AC7E469
33F440F4
32A7B882
1F738215
AAB8D4BE
1CFFA1B1
576327AD
2320E40C
5A43685C
89FDCD88
C884D2EE
C562DAB3
F8E4C912
793559DF
BCED4410
FD4EF26C
A8F9865E
197B8C36
2C772615
8AE5165F
5BC74DC1
EC549503
8037670E
9534A536
1B53A63F
1E255ACA
70699E92
B526495C
3A542558
7E83CBED
C5E7891B
B8E62E1B
53711951
38883E72
C989F478
655DB356
32C2C091
BAE8C1F2
EEF235E7
F01DB490
60843144
56635EA1
FC1A329
17C020DC
B5186148
A69ACB7F
2C1EDD89
3FE9876
6C435C12
52F44245
C0086061
10CEF08C
B0E5D5DC
80405A95
2DF62417
727A9E86
7F39E2BB
7E5F7570
3E87334C
F067E776
628519C1
C6446744
CAFEEEC2
59B409DE
1BBED035
BF3BB797
55DDF787
6FB749F4
AB6F4E85
A1D3486A
80AEA632
21C6B5C
F846E7F0
6DE96547
831A4AFF
B7846DDC
7B7F6345
44907B4A
2666A37E
8D6A0068
423FD598
AB9E1CA
9245879C
371A8349
3756A9BB
994B50A6
CC6D0B8A
9B484CDD
8FFA46C4
F6255B20
FE59884
A39A15A5
18FC361B
C4FD2F88
58FD0A0B
E9267F4D
9EB25FB3
18F261E6
93DA8411
13CEB38
EB1899F6
63FBEFA2
F767675B
6EB319D2
89D1BC3A
49E43274
80EB5DF
9503AF3E
A5017041
30BFE4AA
44A6FA0D
E23ED4D1
21A18307
7FF3AAAB
6FFAD1F1
E65298AD
DE1A8326
FB22104D
E0A8052
6C720884
5195225B
15DE2F47
74C0C443
CF309348
E3C35DDC
5AD4A462
F63A7F5B
8D9182E3
1345B63F
780E2796
768BE336
70A13FD2
5E01D43A
561A8C63
4D87282F
AA4278AA
9663F838
63455112
9B8B80FD
830D5911
A98F3331
B92F99F
F0501C9F
83F48993
FEE0DD45
2AB5B3A2
575DCE07
CA504FB6
D381BDF3
3AAE7472
D94D6580
9124525A
B9332318
E04A9157
E87CE2EC
5783BEEC
91E9F546
53DF4DAB
98DD9AA6
39D3F821
D521AD58
C79DAC8D
7145734A
A7C51226
6E0C21B5
B0C957F5
BDFCAA5C
C6A7AD2
73FB2321
1417B6C
7E6A35B3
D79C92E5
E234694C
C87A5390
B6397F6B
F885CCD8
FBE67263
851CD76A
C8387C20
E499E0FF
103A6D19
E4AA65
94654E6A
EDD67AFC
89EBCC91
4FC5443D
56F57A75
B67BCD74
F6D8ACB6
4B2514BE
3C8E5A2E
B0D1B320
A1DB695D
E251030F
A2B9F9CB
89872E7A
E5CF353D
EE278161
27B6477D
6513F627
7FD8E685
48ED5A3D
E09C2494
1EBCE5A4
7127C755
48872F5E
FA5AD768
17987A30
3F6C12DC
4A7E621
ADC527C9
EE6286CC
810BF80C
EECEBFD7
F035714B
12DDF8E1
AF391E6D
D8B1A492
1659DA8D
F5D5970F
8100E2FB
72CE8AA6
2437780F
BDBC46D5
D3658408
B3A95ADE
EC182C64
88865C09
AE8BD792
9D8F1C5E
869AE3CF
D03FEC5C
7C3C60E5
C3ADDDD
2533D8F8
4DD3A9E4
5DE7C55F
F1B45CAC
E45F717E
D9DEAB4F
28FFC46E
5B45B173
E19A5273
98394B7B
7497BFFF
8A96B930
85E90DE4
649AFA83
59803C61
C5E7BBFF
FFEAC357
8DB4C0EA
EE0DD748
ACED25B4
FC84CB47
BA1881B6
BABB823E
AD4B5EFB
ECD270CE
F6FF350D
C4B2FCD4
270816
56EFFA34
39078A7A
D05C1F6A
A6C09FCB
C1B8EE4E
9994279E
7F5BD060
34CA61F0
1D054B65
CEF9D1CF
19AC37DC
47BE5C13
213288D1
E6E85825
865E9B60
E705A887
152169A7
D54C2DD5
2A095BBD
783EC447
D2FA8900
C3DEE2AF
B9AE0111
9DA502E6
74D448D1
5EE4D193
17755517
7BB364E3
A76DA018
122DF716
5AA79B8E
DE945317
A7D11BAC
F7A0D87D
D09FA335
54B4288B
605961BD
5287CF34
4D82D4B9
D1F34283
A86F795D
25566EE0
6B1949CB
27DC91CD
2826B5F9
61D04233
D01E0EBB
FE7B96D
66C19001
1D720115
893F1604
4BF49541
19F080E3
D1B7C925
79A17CC7
22C73819
1D5C71C8
D079493F
B18BBD43
D1A963D0
CF47C242
B1D752A3
B2DCD66B
428CE327
20B19A57
EF46C7D7
1943B3CB
B97BDD4
88A696DF
416A6674
362F6624
13D040DB
AC0A863E
D1BBF469
535456CA
8CFAF2BF
1994C1EA
EF697310
E13B34DA
7CFB48A1
30EE4EA4
AF08F27D
3A1A7F55
3278BCBA
4EBD0D25
D0C06C47
C00E7FF2
84F7263F
F8AD8566
327C89D
1F59D438
61FF5317
1F58726B
EAF2DF41
F10DE21A
FE3BC607
CBFD90AE
2016EE66
7DAB5388
BFFD6335
2C7962EE
9E7F6C3B
DF91C522
CA963745
9E801FB4
D9D5A4B7
4A7D7FC2
BCC23E7
13CFF825
1D2BC65C
17472F26
1789993A
5DE64C32
EA832969
133E1063
CCD8D264
DE4672D4
EE20C4C3
82EE7BFE
FD9CD767
7BEA036C
86ED0598

Взял первую попавшую цифру из массива в 40 тысяч, уникальное
очень хороший на нём генератор, настоящий рандомайзер

Затеялся я адаптировать программу консольного генератора от @dimax
на этот контроллер, успех пока отрицательный, не могу найти в даташите адрес регистра:

#define GPIOA_CRH      (*(volatile unsigned int*)0x48000004) // ???

Да и остальной код под сильным вопросом:

//https://arduino.ru/forum/proekty/generator-s-reguliruemoei-chastotoi-na-arduino#comment-318857

//Выход таймера PA8 (T1C1)
/* F103
#define GPIOA_CRH      (*(volatile unsigned int*)0x40010804)
#define RCC_APB2ENR    (*(volatile unsigned int*)0x40021018)
#define TIM1_CR1       (*(volatile unsigned int*)0x40012c00)
#define TIM1_CCMR1     (*(volatile unsigned int*)0x40012c18)
#define TIM1_CCER      (*(volatile unsigned int*)0x40012c20)
#define TIM1_PSC       (*(volatile unsigned int*)0x40012c28)
#define TIM1_ARR       (*(volatile unsigned int*)0x40012c2c)
#define TIM1_CCR1      (*(volatile unsigned int*)0x40012c34)
*/
// G431
#define GPIOA_CRH      (*(volatile unsigned int*)0x48000004) // ???
#define RCC_APB2ENR    (*(volatile unsigned int*)0x40021060) //
#define TIM1_CR1       (*(volatile unsigned int*)0x40000000) //
#define TIM1_CCMR1     (*(volatile unsigned int*)0x40000018) //
#define TIM1_CCER      (*(volatile unsigned int*)0x40000020) //
#define TIM1_PSC       (*(volatile unsigned int*)0x40000028) //
#define TIM1_ARR       (*(volatile unsigned int*)0x4000002c) //
#define TIM1_CCR1      (*(volatile unsigned int*)0x40000034) //

void setup() {
  GPIOA_CRH |= (1 << 1) | (1 << 0) | (1 << 3);
  GPIOA_CRH &= ~(1 << 2);
  RCC_APB2ENR |= 1 << 11; // включить тактирование tim1
  TIM1_CCER |= 1 << 0;    // cc1e enable

  TIM1_CCMR1 = (1 << 6) | (1 << 5) | (1 << 3); //PWM mode 1

  TIM1_PSC = 0;           // prescaler
  TIM1_CCR1 =  0;         // скважность по умолчанию в тактах
  TIM1_ARR = 1;           // частота по умолчанию в тактах
  TIM1_CR1 = 1;
}

void loop() {
  if (Serial.available()) {
    int divider = 1;
    int32_t freq = 170000000 / Serial.parseInt();
    int duty = Serial.parseInt();
    while ( (freq / divider) > 65535) {
      divider++;
    }
    Serial.print("Делитель равен = ");
    Serial.println(divider);
    
    TIM1_PSC = divider - 1;
    TIM1_ARR = (freq / divider) - 1;
    if (!duty) {
      TIM1_CCR1 = freq / divider / 2;
    }
    else {
      TIM1_CCR1 = (freq / divider) * duty / 100;
    }
    freq = 170000000 / ((TIM1_ARR + 1) * divider);
    Serial.print(freq); Serial.print("Hz");
    float duty2 =  (float) TIM1_CCR1 / ((TIM1_ARR + 1) / 100.0) ;
    Serial.print("  Duty=" ); Serial.println(duty2, 0);
  }
}

Ну я тут тоже не помогу, я уж и тонкости F103 подзабывать стал, а тут вообще другой контроллер. Дефайны вообще не помню зачем прописывал, ониж все есть в библиотеке, может просто для наглядности. Первые строчки за ними -просто настройки порта на выход, можно на pinMode Output на соответсвующую ногу заменить. А дальше может и несовместимо.

1 лайк

Интересно, каким контроллерам сам отдаёшь предпочтения…просто почитал даташит на STM32G431 (2000) листов…а ведь кто-то это придумал (я о разработчиках)

там от контроллера к контроллеру все под копирку, меняется процентов 10-20

Как в СТМ придумали, что только один таймер может управлять ДМА переносом из памяти к GPIO - так эта ерунда и повторяется от серии к серии.

STM за пределами моего понимания, старый уже, скопировать и что-то совсем простое может и одолею, но не более, я просто прикинул сколько миллионов человеко часов ушло у них на разработку, естественно, что растут от базового кода …

Меге 328 отдаю предпочтение. В реальности мне никогда не требовался более быстрый контроллер :slight_smile: На другие (Due/F103) соблазнялся больше из любопытства, чем из необходимости. А сейчас думаю, что никакие другие уже и не буду изучать, т.к. любопытство всё куда то пропало, а никакой другой мотивации нет.

это значит ты вырос до уровня Петровича, он тоже говорил, у меня нет тех задач, что я не сделаю на 328 )))

@Dimax Еще спрошу, в твоём генераторе на чипе с DAC (версия 3.4) выход сделан на пине A4, где-то прописано на какой пин можно вывести с DAC? в Даташите не увидел

// Определения
#define HAL_DAC_MODULE_ENABLED

// Библиотеки
#include <Arduino.h>

// Переменные
uint16_t pw;

void setup(void)
{
  Serial.begin(115200);
}

void loop()
{
  pw++;
  //analogWriteResolution(12);
  //analogWriteFrequency(2000);
  analogWrite(A4, pw);          // пины для DAC
  analogWrite(A5, pw);          // пины для DAC

  delayMicroseconds(10);
  //Serial.println(pw);
  //if(pw >4096)pw = 0;
  if (pw > 2048)pw = 0;
}
//*** DAC ***

#ifdef HAL_DAC_MODULE_ENABLED
WEAK const PinMap PinMap_DAC[] = {
  {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1
  {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC1_OUT2
  {NC,   NP,   0}
};
#endif

Одно из двух: либо 328 научится обрабатывать звук (хотя бы 48к/16бит/стерео), либо я никогда не достигну уровня Петровича (последнее гораздо более вероятно).

у него нет задачи обрабатывать звук, тележку внукам сделал, телематику на ворота (жду, обещал рассказать)

В нём самом , да. Открываешь datasheet той модели, что с Dac на борту, и там точно будет в распиновке. Например https://www.st.com/resource/en/datasheet/stm32f103ve.pdf

на удивление DAC везде выводят на PA4 и PA5

не удивительно