This commit is contained in:
caiyu 2025-04-05 16:27:54 +08:00
parent 2255348505
commit 217ca9a7a1
6 changed files with 7816 additions and 18354 deletions

File diff suppressed because it is too large Load Diff

View File

@ -144,6 +144,7 @@ uint16_t lmxRead(uint8_t regadr)
void LmxWrite(uint8_t regadr,uint16_t dat)
{
printf("write addr 0x%02x 0x%04x\r\n",regadr,dat);
regadr=regadr&0x7f; //将寄存器地址最高位置0确保为写操作//
Lmx_CSB_RESET(); //片选信号拉低//
DELAY_Nop(50);
@ -218,221 +219,60 @@ void SetLmxParameter(void)
lmx.LMX_R70.All= 0x0000;
lmx.LMX_R69.All= 0x0000;
lmx.LMX_R68.All= 0x0089;
lmx.LMX_R64.All= 0x0377;
lmx.LMX_R68.All= 0x0000;
lmx.LMX_R64.All= 0x0000;
lmx.LMX_R62.All= 0x0000;
lmx.LMX_R61.All= 0x0001;
lmx.LMX_R61.All= 0x0000;
lmx.LMX_R59.All= 0x0000;
lmx.LMX_R48.All= 0x03FC;
lmx.LMX_R47.All= 0x08D4;
lmx.LMX_R46.All= 0x1E21;
lmx.LMX_R47.All= 0x00D4;
lmx.LMX_R46.All= 0x1421;
lmx.LMX_R45.All= 0x0000;
lmx.LMX_R44.All= 0x0000;
lmx.LMX_R43.All= 0x0008;
lmx.LMX_R43.All= 0x0000;
lmx.LMX_R42.All= 0x0000;
lmx.LMX_R41.All= 0x0001;
lmx.LMX_R40.All= 0x0000;
lmx.LMX_R41.All= 0x0D40;
lmx.LMX_R40.All= 0x0003;
lmx.LMX_R39.All= 0x8104;
lmx.LMX_R38.All= 0x0960;
lmx.LMX_R38.All= 0x00F0;
lmx.LMX_R37.All= 0x5000;
lmx.LMX_R36.All= 0x0821;
lmx.LMX_R35.All= 0x109F;
lmx.LMX_R36.All= 0x0C44;
lmx.LMX_R35.All= 0x119B;
lmx.LMX_R34.All= 0xC3EA;
lmx.LMX_R33.All= 0x2A0A;
lmx.LMX_R32.All= 0x210A;
lmx.LMX_R31.All= 0x0401;
lmx.LMX_R33.All= 0x0000;
lmx.LMX_R32.All= 0x0000;
lmx.LMX_R31.All= 0x0601;
lmx.LMX_R30.All= 0x0034;
lmx.LMX_R29.All= 0x0084;
lmx.LMX_R28.All= 0x2924;
lmx.LMX_R29.All= 0x0000;
lmx.LMX_R28.All= 0x0000;
lmx.LMX_R25.All= 0x0000;
lmx.LMX_R24.All= 0x0509;
lmx.LMX_R23.All= 0x8842;
lmx.LMX_R22.All= 0x2300;
lmx.LMX_R20.All= 0x012C;
lmx.LMX_R19.All= 0x0965;
lmx.LMX_R14.All= 0x0318;
lmx.LMX_R24.All= 0x0000;
lmx.LMX_R23.All= 0x0000;
lmx.LMX_R22.All= 0x0000;
lmx.LMX_R20.All= 0x0000;
lmx.LMX_R19.All= 0x0000;
lmx.LMX_R14.All= 0x0A50;
lmx.LMX_R13.All= 0x4003;
lmx.LMX_R12.All= 0x700A;
lmx.LMX_R12.All= 0x7000;
lmx.LMX_R11.All= 0x0018;
lmx.LMX_R10.All= 0x10D8;
lmx.LMX_R9.All =0x0302;
lmx.LMX_R8.All =0x1084;
lmx.LMX_R7.All =0x28B2;
lmx.LMX_R4.All =0x0C43;
lmx.LMX_R2.All =0x0500;
lmx.LMX_R1.All =0x080A;
lmx.LMX_R0.All =0x2278;
/*
lmx.LMX_R112.All = 0x0000;
lmx.LMX_R111.All = 0x0000;
lmx.LMX_R110.All = 0x0000;
lmx.LMX_R109.All = 0x0000;
lmx.LMX_R108.All = 0x0000;
lmx.LMX_R107.All = 0x0000;
lmx.LMX_R106.All = 0x0000;
lmx.LMX_R105.All = 0x0021;
lmx.LMX_R104.All = 0x0000;
lmx.LMX_R103.All = 0x0000;
lmx.LMX_R102.All = 0x3F80;
lmx.LMX_R101.All = 0x0011;
lmx.LMX_R100.All = 0x0000;
lmx.LMX_R99.All = 0x0000 ;
lmx.LMX_R98.All = 0x0200 ;
lmx.LMX_R97.All = 0x0888 ;
lmx.LMX_R96.All = 0x0000 ;
lmx.LMX_R95.All = 0x0000 ;
lmx.LMX_R94.All = 0x0000 ;
lmx.LMX_R93.All = 0x0000 ;
lmx.LMX_R92.All = 0x0000 ;
lmx.LMX_R91.All = 0x0000 ;
lmx.LMX_R90.All = 0x0000 ;
lmx.LMX_R89.All = 0x0000 ;
lmx.LMX_R88.All = 0x0000 ;
lmx.LMX_R87.All = 0x0000 ;
lmx.LMX_R86.All = 0xFFFF ;
lmx.LMX_R85.All = 0xD2FF ;
lmx.LMX_R84.All = 0x0001 ;
lmx.LMX_R83.All = 0x0000 ;
lmx.LMX_R82.All = 0x1E00 ;
lmx.LMX_R81.All = 0x0000 ;
lmx.LMX_R80.All = 0x6666 ;
lmx.LMX_R79.All = 0x0026 ;
lmx.LMX_R78.All = 0x0003 ;
lmx.LMX_R77.All = 0x0000 ;
lmx.LMX_R76.All = 0x000C ;
lmx.LMX_R75.All = 0x0B80 ;
lmx.LMX_R74.All = 0x0000 ;
lmx.LMX_R73.All = 0x003F ;
lmx.LMX_R72.All = 0x0001 ;
lmx.LMX_R71.All = 0x0081 ;
lmx.LMX_R70.All = 0xC350 ;
lmx.LMX_R69.All = 0x0000 ;
lmx.LMX_R68.All = 0x03E8 ;
lmx.LMX_R67.All = 0x0000 ;
lmx.LMX_R66.All = 0x01F4 ;
lmx.LMX_R65.All = 0x0000 ;
lmx.LMX_R64.All = 0x1388 ;
lmx.LMX_R63.All = 0x0000 ;
lmx.LMX_R62.All = 0x0322 ;
lmx.LMX_R61.All = 0x00A8 ;
lmx.LMX_R60.All = 0x0000 ;
lmx.LMX_R59.All = 0x0001 ;
lmx.LMX_R58.All = 0x9001 ;
lmx.LMX_R57.All = 0x0020 ;
lmx.LMX_R56.All = 0x0000 ;
lmx.LMX_R55.All = 0x0000 ;
lmx.LMX_R54.All = 0x0000 ;
lmx.LMX_R53.All = 0x0000 ;
lmx.LMX_R52.All = 0x0820 ;
lmx.LMX_R51.All = 0x0080 ;
lmx.LMX_R50.All = 0x0000 ;
lmx.LMX_R49.All = 0x4180 ;
lmx.LMX_R48.All = 0x0300 ;
lmx.LMX_R47.All = 0x0300 ;
lmx.LMX_R46.All = 0x07FC ;
lmx.LMX_R45.All = 0xC0FC ;
lmx.LMX_R44.All = 0x1FE3 ;
lmx.LMX_R43.All = 0x0000 ;
lmx.LMX_R42.All = 0x0000 ;
lmx.LMX_R41.All = 0x0000 ;
lmx.LMX_R40.All = 0x0000 ;
lmx.LMX_R39.All = 0x0001 ;
lmx.LMX_R38.All = 0x0000 ;
lmx.LMX_R37.All = 0x8304 ;
lmx.LMX_R36.All = 0x0300 ;
lmx.LMX_R35.All = 0x0004 ;
lmx.LMX_R34.All = 0x0000 ;
lmx.LMX_R33.All = 0x1E21 ;
lmx.LMX_R32.All = 0x0393 ;
lmx.LMX_R31.All = 0x43EC ;
lmx.LMX_R30.All = 0x318C ;
lmx.LMX_R29.All = 0x318C ;
lmx.LMX_R28.All = 0x0488 ;
lmx.LMX_R27.All = 0x0002 ;
lmx.LMX_R26.All = 0x0DB0 ;
lmx.LMX_R25.All = 0x0C2B ;
lmx.LMX_R24.All = 0x071A ;
lmx.LMX_R23.All = 0x007C ;
lmx.LMX_R22.All = 0x0001 ;
lmx.LMX_R21.All = 0x0401 ;
lmx.LMX_R20.All = 0xE048 ;
lmx.LMX_R19.All = 0x27B7 ;
lmx.LMX_R18.All = 0x0064 ;
lmx.LMX_R17.All = 0x012C ;
lmx.LMX_R16.All = 0x0080 ;
lmx.LMX_R15.All = 0x064F ;
lmx.LMX_R14.All = 0x1E70 ; //0x1E30:1.2mA 0x1E70: 1.5mA
lmx.LMX_R13.All = 0x4000 ;
lmx.LMX_R12.All = 0x5001 ;
lmx.LMX_R11.All = 0x0018 ;
lmx.LMX_R10.All = 0x10D8 ;
lmx.LMX_R9.All = 0x0604 ;
lmx.LMX_R8.All = 0x2000 ;
lmx.LMX_R7.All = 0x40B2 ;
lmx.LMX_R6.All = 0xC802 ;
lmx.LMX_R5.All = 0x00C8 ;
lmx.LMX_R4.All = 0x0A43 ;
lmx.LMX_R3.All = 0x0642 ;
lmx.LMX_R2.All = 0x0500 ;
lmx.LMX_R1.All = 0x0800 ;
lmx.LMX_R0.All = 0x2418 ;
*/
lmx.LMX_R9.All =0x0000;
lmx.LMX_R8.All =0x0000;
lmx.LMX_R7.All =0x0000;
lmx.LMX_R4.All =0x0100;
lmx.LMX_R2.All =0x0000;
lmx.LMX_R1.All =0x0808;
lmx.LMX_R0.All =0x2210;
}
void SetLmxFreq(void)
{
LmxWrite(0,0x0002);//reset device
LL_mDelay(50);
/*
LmxWrite(112,lmx.LMX_R112.All);
LmxWrite(111,lmx.LMX_R111.All);
LmxWrite(110,lmx.LMX_R110.All);
LmxWrite(109,lmx.LMX_R109.All);
LmxWrite(108,lmx.LMX_R108.All);
LmxWrite(107,lmx.LMX_R107.All);
LmxWrite(106,lmx.LMX_R106.All);
LmxWrite(105,lmx.LMX_R105.All);
LmxWrite(104,lmx.LMX_R104.All);
LmxWrite(103,lmx.LMX_R103.All);
LmxWrite(102,lmx.LMX_R102.All);
LmxWrite(101,lmx.LMX_R101.All);
LmxWrite(100,lmx.LMX_R100.All);
LmxWrite(99,lmx.LMX_R99.All);
LmxWrite(98,lmx.LMX_R98.All);
LmxWrite(97,lmx.LMX_R97.All);
LmxWrite(96,lmx.LMX_R96.All);
LmxWrite(95,lmx.LMX_R95.All);
LmxWrite(94,lmx.LMX_R94.All);
LmxWrite(93,lmx.LMX_R93.All);
LmxWrite(92,lmx.LMX_R92.All);
LmxWrite(91,lmx.LMX_R91.All);
LmxWrite(90,lmx.LMX_R90.All);
LmxWrite(89,lmx.LMX_R89.All);
LmxWrite(88,lmx.LMX_R88.All);
LmxWrite(87,lmx.LMX_R87.All);
LmxWrite(86,lmx.LMX_R86.All);
LmxWrite(85,lmx.LMX_R85.All);
LmxWrite(84,lmx.LMX_R84.All);
LmxWrite(83,lmx.LMX_R83.All);
LmxWrite(82,lmx.LMX_R82.All);
LmxWrite(81,lmx.LMX_R81.All);
LmxWrite(80,lmx.LMX_R80.All);
LmxWrite(79,lmx.LMX_R79.All);
LmxWrite(78,lmx.LMX_R78.All);
LmxWrite(77,lmx.LMX_R77.All);
LmxWrite(76,lmx.LMX_R76.All);
LmxWrite(75,lmx.LMX_R75.All);
LmxWrite(74,lmx.LMX_R74.All);
LmxWrite(73,lmx.LMX_R73.All);
LmxWrite(72,lmx.LMX_R72.All);
LmxWrite(71,lmx.LMX_R71.All);
*/
LmxWrite(0,0x2266); //reset device; en ld; pfd>10M;power up
LL_mDelay(50);
LmxWrite(70,lmx.LMX_R70.All);
LmxWrite(69,lmx.LMX_R69.All);
LmxWrite(68,lmx.LMX_R68.All);
@ -483,8 +323,6 @@ LL_mDelay(50);
DELAY_Nop(500000);
LmxWrite(0,lmx.LMX_R0.All);
}
//check LD
//configure the register again,when check the LD is low
@ -574,95 +412,97 @@ void LMX2592_Wchannel_div(uint16_t chdiv_num){
}
void LMX2592_FIND_CHANNEL_DIV(float freq,uint16_t *chdiv_num,uint16_t *vco_doubler,uint16_t *vco_level){
if(freq>9800){
printf("freq: %f\r\n",freq);
if(freq>9800.0){
}
else if(freq>7100){
else if(freq>7100.0){
*chdiv_num = 1; //disable chdiv
*vco_doubler=1;//enable vco doubler
*vco_level=0;
}
else if(freq>6500){
else if(freq>6500.0){
*chdiv_num = 1; //disable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=1;//high level (REG30 7:6)
}
else if(freq>3550){
else if(freq>3550.0){
*chdiv_num = 1; //disable chdiv
*vco_doubler=0;//disable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>1775){
else if(freq>1775.0){
*chdiv_num = 2; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>1184){
else if(freq>1184.0){
*chdiv_num = 3; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>888){
else if(freq>888.0){
*chdiv_num = 4; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>592){
else if(freq>592.0){
*chdiv_num = 6; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>444){
else if(freq>444.0){
*chdiv_num = 8; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>296){
else if(freq>296.0){
*chdiv_num = 12; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>222){
else if(freq>222.0){
*chdiv_num = 16; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>148){
else if(freq>148.0){
*chdiv_num = 24; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>111){
else if(freq>111.0){
*chdiv_num = 32; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>99){
else if(freq>99.0){
*chdiv_num = 36; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>74){
else if(freq>74.0){
*chdiv_num = 48; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>56){
else if(freq>56.0){
*chdiv_num = 64; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>37){
else if(freq>37.0){
*chdiv_num = 96; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>28){
else if(freq>28.0){
*chdiv_num = 128; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
}
else if(freq>=20){
else if(freq>=20.0){
*chdiv_num = 192; //enable chdiv
*vco_doubler=0;//enable vco doubler
*vco_level=0;//low level (REG30 7:6)
@ -713,26 +553,25 @@ void LMX2592_WRITE_FREQ(double freq){
LmxWrite(12,0x7002);//pll r pre div =2
LmxWrite(11,0x0018);//pll r div =1; set pfd = 20Mhz
}
else{//pfd=1Mhz
FPFD=1;
LmxWrite(0,0x2206); //reset device; en ld; pfd>10M;power up
FPFD=10;
LmxWrite(0,0x2266); //reset device; en ld; pfd>10M;power up
LmxWrite(1,0x0808);//cal_clk div=1;cal clk = 10Mhz
LmxWrite(10,0x10d8);//disable multiplier
LmxWrite(12,0x700A);//pll r pre div =10 1
LmxWrite(12,0x7001);//pll r pre div =10 1
LmxWrite(11,0x0018);//pll r div =1; set pfd = 1Mhz 1
}
LmxWrite(37,0x5000); // presacle 4 1
LmxWrite(39,0x8104);
LmxWrite(14,0x0841); // 1.25 MA
}
LmxWrite(37,0x5000); // presacle 4 1
LmxWrite(39,0x8104);
LmxWrite(14,0x0084); // 1.25 MA
printf("chdiv_num: %04d\r\n",chdiv_num);
/****************** OUTPUT PART ********************/
if(chdiv_num == 1){ // Direct out through VCO
if(vco_doubler == 1){
@ -772,13 +611,18 @@ void LMX2592_WRITE_FREQ(double freq){
}
/****************** NDIV SET ********************/
double N_DIV = freq * (double)chdiv_num ;
printf("N_DIV : %f\r\n",N_DIV);
N_DIV = N_DIV/(FPFD);
N_DIV = N_DIV/4;
uint16_t N_integer = (uint16_t)N_DIV;
double N_fraction = N_DIV - (double)N_integer;
printf("N_fraction : %f\r\n",N_fraction);
//write N_integer
N_integer = (N_integer<<1)&(0x1FFE);//save 12bit
printf("N_integer: %d\r\n",N_integer);
LmxWrite(38,(N_integer));// pll Integer part of N-divider
//write N_fraction
@ -786,19 +630,19 @@ void LMX2592_WRITE_FREQ(double freq){
uint32_t N_frac_REG = (uint32_t)N_fraction;
LmxWrite(44,(N_frac_REG>>16));//Numerator MSB of N-divider fraction
LmxWrite(45,N_frac_REG);//Numerator LSB of N-divider fraction
printf("N_frac_REG: %d %d\r\n",(N_frac_REG>>16),(N_frac_REG>>16));
//LmxWrite(40,0x0131);//Denominator MSB of N-divider fraction
//LmxWrite(41,0x2d00);//Denominator LSB of N-divider fraction
LmxWrite(40,0x0131);//Denominator MSB of N-divider fraction
LmxWrite(41,0x2d00);//Denominator LSB of N-divider fraction
LmxWrite(40,0x0003);//Denominator MSB of N-divider fraction
LmxWrite(41,0x0d40);//Denominator LSB of N-divider fraction
//LmxWrite(47,0x18D4);
LmxWrite(44,(N_frac_REG>>16));//Numerator MSB of N-divider fraction
LmxWrite(45,N_frac_REG);//Numerator LSB of N-divider fraction
/****************** STRAT WORK ********************/
if(FPFD == 1)
LmxWrite(0,0x2278); //set pfd < 2.5Mhz
else
LmxWrite(0,0x220c | 0X0020);
}

File diff suppressed because one or more lines are too long

View File

@ -146,6 +146,11 @@
<pMon>Segger\JL2CM3.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
@ -164,7 +169,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>JL2CM3</Key>
<Name>-U600190010 -O78 -S5 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_128_2K.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F072CBTx$CMSIS/Flash/STM32F0xx_128_2K.FLM)</Name>
<Name>-U20080643 -O78 -S2 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_128_2K.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F072CBTx$CMSIS/Flash/STM32F0xx_128_2K.FLM)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -181,41 +186,41 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>362</LineNumber>
<LineNumber>758</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134232014</Address>
<Address>134230088</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\startup.c</Filename>
<Filename>.\lmx2595.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>197</LineNumber>
<LineNumber>747</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134231994</Address>
<Address>134230392</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\startup.c</Filename>
<Filename>.\lmx2595.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>194</LineNumber>
<LineNumber>257</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134231986</Address>
<Address>134295906</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@ -229,7 +234,71 @@
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>361</LineNumber>
<LineNumber>770</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134230156</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\lmx2595.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\lvgl\lmx2595.c\770</Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>509</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134230542</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\lmx2595.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\lvgl\lmx2595.c\509</Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>509</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134230596</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\lmx2595.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\lvgl\lmx2595.c\509</Expression>
</Bp>
<Bp>
<Number>6</Number>
<Type>0</Type>
<LineNumber>509</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134230726</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\lmx2595.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\lvgl\lmx2595.c\509</Expression>
</Bp>
<Bp>
<Number>7</Number>
<Type>0</Type>
<LineNumber>254</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@ -1696,6 +1765,19 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>106</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_usart.c</PathWithFileName>
<FilenameWithoutPath>stm32f0xx_ll_usart.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
</ProjectOpt>

View File

@ -1363,6 +1363,11 @@
</FileArmAds>
</FileOption>
</File>
<File>
<FileName>stm32f0xx_ll_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_usart.c</FilePath>
</File>
</Files>
</Group>
</Groups>

View File

@ -8,6 +8,7 @@
#include "lv_conf.h"
#include "lmx2595.h"
#include <stdlib.h>
#include <stdio.h> /* sprintf() */
bool gOut = true;
@ -177,10 +178,17 @@ static void event_cb_start(lv_event_t* e)
LMX2592_SETOUT(1,1);
LMX2592_SETOUT(2,1);
gOut = true;
LMX2592_WRITE_FREQ(freq);
LMX2592_WRITE_FREQ(freq);
}
}
int fputc(int ch, FILE *p) {
LL_mDelay(1);
LL_USART_TransmitData8(USART1, ch);
return ch;
}
static void event_cb_stop(lv_event_t* e)
{
gOut = false;
@ -189,8 +197,25 @@ static void event_cb_stop(lv_event_t* e)
}
#pragma import(__use_no_semihosting)
struct __FILE
{
int handle;
};
FILE __stdout;
void _sys_exit(int x)
{
x = x;
}
void _ttywrch(int ch)
{
ch = ch;
}
int main(void)
{
char tmp[20] = "x: ";
static lv_style_t style;
@ -223,6 +248,8 @@ int main(void)
MX_DMA_Init();
MX_SPI2_Init();
MX_ADC_Init();
MX_USART1_UART_Init();
LL_mDelay(100);
LL_ADC_Enable(ADC1);
Lmx_PortIntit();
@ -231,7 +258,6 @@ int main(void)
/* USER CODE BEGIN 2 */
ILI9341_init();
SetLmxFreq();
short read111 = lmxRead(68);
LL_mDelay(100);
@ -317,7 +343,7 @@ int main(void)
lv_obj_set_pos(label, 180, 40); //????
lv_obj_set_size(label, 40, 20); //?????
LV_FONT_DECLARE(lv_font_montserrat_20) //????
lv_label_set_text(label, "#ff0080 khz#"); //????
lv_label_set_text(label, "#ff0080 mhz#"); //????
lv_obj_set_style_text_font(label, &lv_font_montserrat_20, 0);
lv_obj_t *btn1 = lv_btn_create(lv_scr_act());
@ -389,7 +415,10 @@ int main(void)
lv_obj_add_style(btn2, &style, 0);
lv_obj_add_style(btn2, &style_pr, LV_STATE_PRESSED);
LL_mDelay(250);
LL_mDelay(250);
SetLmxFreq();
LMX2592_WRITE_FREQ(50.0);
@ -405,7 +434,6 @@ int main(void)
lv_label_set_text(label2, "#000000 state: # #ff0000 unlock # # #00ff00 enable #"); //????
else
lv_label_set_text(label2, "#000000 state: # #ff0000 unlock # # #ff0000 disable #"); //????
}else{
if(gOut)
lv_label_set_text(label2, "#000000 state:# #00ff00 locked OK# "); //????