添加lmx2594测试代码
添加lmx2594测试代码
This commit is contained in:
parent
d266879ada
commit
bd365016e3
166
MDK-ARM/lmx2594.c
Normal file
166
MDK-ARM/lmx2594.c
Normal file
@ -0,0 +1,166 @@
|
||||
#include "lmx2594.h"
|
||||
|
||||
|
||||
#include "stm32f0xx.h"
|
||||
|
||||
unsigned int LMX2594_Reg[113]=
|
||||
{
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0001,
|
||||
0x0001,
|
||||
0x0064,
|
||||
0xFFFF,
|
||||
0x3FFF,
|
||||
0x0011,
|
||||
0x0064,
|
||||
0x0000,
|
||||
0xB000,
|
||||
0x0888,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0001,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0001,
|
||||
0x0000,
|
||||
0x0200,
|
||||
0x00BF,
|
||||
0x0000,
|
||||
0x000C,
|
||||
0x0A40,
|
||||
0x0000,
|
||||
0x003F,
|
||||
0x0001,
|
||||
0x0081,
|
||||
0xC350,
|
||||
0x0000,
|
||||
0x03E8,
|
||||
0x0000,
|
||||
0x01F4,
|
||||
0x0000,
|
||||
0x1388,
|
||||
0x0000,
|
||||
0x0322,
|
||||
0x00A8,
|
||||
0x0000,
|
||||
0x0001,
|
||||
0x8001,
|
||||
0x0020,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0820,
|
||||
0x0080,
|
||||
0x0000,
|
||||
0x4180,
|
||||
0x0300,
|
||||
0x0300,
|
||||
0x07FC,
|
||||
0xC0DF,
|
||||
0x0A23,
|
||||
0x8000,
|
||||
0x0005,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x8001,
|
||||
0x53E2,
|
||||
0x8304,
|
||||
0x1F40,
|
||||
0x0004,
|
||||
0x0000,
|
||||
0x1E21,
|
||||
0x0393,
|
||||
0x43EC,
|
||||
0x318C,
|
||||
0x318C,
|
||||
0x0488,
|
||||
0x0002,
|
||||
0x0DB0,
|
||||
0x0624,
|
||||
0x071A,
|
||||
0x007C,
|
||||
0x0001,
|
||||
0x0401,
|
||||
0xC848,
|
||||
0x27B7,
|
||||
0x0064,
|
||||
0x0110,
|
||||
0x0080,
|
||||
0x064F,
|
||||
0x1E40,
|
||||
0x4000,
|
||||
0x5001,
|
||||
0x0148,
|
||||
0x10D8,
|
||||
0x1604,
|
||||
0x2000,
|
||||
0x40B2,
|
||||
0xC802,
|
||||
0x00C8,
|
||||
0x0A43,
|
||||
0x0642,
|
||||
0x0500,
|
||||
0x0808,
|
||||
0x2478,
|
||||
|
||||
};
|
||||
static void DELAY_Nop(uint32_t num)
|
||||
{
|
||||
while(num--)
|
||||
{
|
||||
__NOP();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LMX2594_Init()
|
||||
{
|
||||
unsigned int y=0,j;
|
||||
|
||||
|
||||
LmxWrite(0,0x0002);//soft reset
|
||||
DELAY_Nop(500);
|
||||
LmxWrite(0,0x0000);//cancel reset
|
||||
DELAY_Nop(500);
|
||||
DELAY_Nop(500);
|
||||
DELAY_Nop(500);
|
||||
|
||||
// VCO_Caliberation();
|
||||
for(y=113;y>6;y--)
|
||||
{
|
||||
LmxWrite(113-y,LMX2594_Reg[y-1]);
|
||||
DELAY_Nop(100);
|
||||
j=lmxRead(113-y);
|
||||
|
||||
/*while(j!=LMX2594_Reg[y-1])
|
||||
{
|
||||
//WDT_CONTR=0x25;//?????
|
||||
LMX2594_TXData(113-y,LMX2594_Reg[y-1]);
|
||||
j=LMX2594_RXData(113-y);
|
||||
}
|
||||
//WDT_CONTR|= 0x10;//??*/
|
||||
}
|
||||
// WDT_CONTR= 0x00;//????
|
||||
DELAY_Nop(5000);
|
||||
//delay_ms(10); //??10ms
|
||||
|
||||
//lmx.R0.FCAL_EN=1; //??FCAL_EN=1????????R0,???VCO?????????
|
||||
LmxWrite(0,0x2478);//lmx_wr(0,lmx.R0.REG0);
|
||||
|
||||
}
|
127
MDK-ARM/lmx2594.h
Normal file
127
MDK-ARM/lmx2594.h
Normal file
@ -0,0 +1,127 @@
|
||||
#ifndef LMX2594_PARAMETERS_H_
|
||||
#define LMX2594_PARAMETERS_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
struct lmx2594_reg_data {
|
||||
uint8_t reg;
|
||||
uint16_t val;
|
||||
};
|
||||
|
||||
/* REGISTER SUMMARY : (LMX_2594) */
|
||||
#define LMX2594_REG0 0x000
|
||||
#define LMX2594_REG1 0x001
|
||||
#define LMX2594_REG2 0x002
|
||||
#define LMX2594_REG3 0x003
|
||||
#define LMX2594_REG4 0x004
|
||||
#define LMX2594_REG5 0x005
|
||||
#define LMX2594_REG6 0x006
|
||||
#define LMX2594_REG7 0x007
|
||||
#define LMX2594_REG8 0x008
|
||||
#define LMX2594_REG9 0x009
|
||||
#define LMX2594_REG10 0x00A
|
||||
#define LMX2594_REG11 0x00B
|
||||
#define LMX2594_REG12 0x00C
|
||||
#define LMX2594_REG13 0x00D
|
||||
#define LMX2594_REG14 0x00E
|
||||
#define LMX2594_REG15 0x00F
|
||||
#define LMX2594_REG16 0x010
|
||||
#define LMX2594_REG17 0x011
|
||||
#define LMX2594_REG18 0x012
|
||||
#define LMX2594_REG19 0x013
|
||||
#define LMX2594_REG20 0x014
|
||||
#define LMX2594_REG21 0x015
|
||||
#define LMX2594_REG22 0x016
|
||||
#define LMX2594_REG23 0x017
|
||||
#define LMX2594_REG24 0x018
|
||||
#define LMX2594_REG25 0x019
|
||||
#define LMX2594_REG26 0x01A
|
||||
#define LMX2594_REG27 0x01B
|
||||
#define LMX2594_REG28 0x01C
|
||||
#define LMX2594_REG29 0x01D
|
||||
#define LMX2594_REG30 0x01E
|
||||
#define LMX2594_REG31 0x01F
|
||||
#define LMX2594_REG32 0x020
|
||||
#define LMX2594_REG33 0x021
|
||||
#define LMX2594_REG34 0x022
|
||||
#define LMX2594_REG35 0x023
|
||||
#define LMX2594_REG36 0x024
|
||||
#define LMX2594_REG37 0x025
|
||||
#define LMX2594_REG38 0x026
|
||||
#define LMX2594_REG39 0x027
|
||||
#define LMX2594_REG40 0x028
|
||||
#define LMX2594_REG41 0x029
|
||||
#define LMX2594_REG42 0x02A
|
||||
#define LMX2594_REG43 0x02B
|
||||
#define LMX2594_REG44 0x02C
|
||||
#define LMX2594_REG45 0x02D
|
||||
#define LMX2594_REG46 0x02E
|
||||
#define LMX2594_REG47 0x02F
|
||||
#define LMX2594_REG48 0x030
|
||||
#define LMX2594_REG49 0x031
|
||||
#define LMX2594_REG50 0x032
|
||||
#define LMX2594_REG51 0x033
|
||||
#define LMX2594_REG52 0x034
|
||||
#define LMX2594_REG53 0x035
|
||||
#define LMX2594_REG54 0x036
|
||||
#define LMX2594_REG55 0x037
|
||||
#define LMX2594_REG56 0x038
|
||||
#define LMX2594_REG57 0x039
|
||||
#define LMX2594_REG58 0x03A
|
||||
#define LMX2594_REG59 0x03B
|
||||
#define LMX2594_REG60 0x03C
|
||||
#define LMX2594_REG61 0x03D
|
||||
#define LMX2594_REG62 0x03E
|
||||
#define LMX2594_REG63 0x03F
|
||||
#define LMX2594_REG64 0x040
|
||||
#define LMX2594_REG65 0x041
|
||||
#define LMX2594_REG66 0x042
|
||||
#define LMX2594_REG67 0x043
|
||||
#define LMX2594_REG68 0x044
|
||||
#define LMX2594_REG69 0x045
|
||||
#define LMX2594_REG70 0x046
|
||||
#define LMX2594_REG71 0x047
|
||||
#define LMX2594_REG72 0x047
|
||||
#define LMX2594_REG73 0x049
|
||||
#define LMX2594_REG74 0x04A
|
||||
#define LMX2594_REG75 0x04B
|
||||
#define LMX2594_REG76 0x04C
|
||||
#define LMX2594_REG77 0x04D
|
||||
#define LMX2594_REG78 0x04E
|
||||
#define LMX2594_REG79 0x04F
|
||||
#define LMX2594_REG80 0x050
|
||||
#define LMX2594_REG81 0x051
|
||||
#define LMX2594_REG82 0x052
|
||||
#define LMX2594_REG83 0x053
|
||||
#define LMX2594_REG84 0x054
|
||||
#define LMX2594_REG85 0x055
|
||||
#define LMX2594_REG86 0x056
|
||||
#define LMX2594_REG87 0x057
|
||||
#define LMX2594_REG88 0x058
|
||||
#define LMX2594_REG89 0x059
|
||||
#define LMX2594_REG90 0x05A
|
||||
#define LMX2594_REG91 0x05B
|
||||
#define LMX2594_REG92 0x05C
|
||||
#define LMX2594_REG93 0x05D
|
||||
#define LMX2594_REG94 0x05E
|
||||
#define LMX2594_REG95 0x05F
|
||||
#define LMX2594_REG96 0x060
|
||||
#define LMX2594_REG97 0x061
|
||||
#define LMX2594_REG98 0x062
|
||||
#define LMX2594_REG99 0x063
|
||||
#define LMX2594_REG100 0x064
|
||||
#define LMX2594_REG101 0x065
|
||||
#define LMX2594_REG102 0x066
|
||||
#define LMX2594_REG103 0x067
|
||||
#define LMX2594_REG104 0x068
|
||||
#define LMX2594_REG105 0x069
|
||||
#define LMX2594_REG106 0x06A
|
||||
#define LMX2594_REG107 0x06B
|
||||
#define LMX2594_REG108 0x06C
|
||||
#define LMX2594_REG109 0x06D
|
||||
#define LMX2594_REG110 0x06E
|
||||
#define LMX2594_REG111 0x06F
|
||||
#define LMX2594_REG112 0x070
|
||||
|
||||
#endif /* LMX2594_PARAMETERS_H_ */
|
@ -156,6 +156,27 @@ void LmxWrite(uint8_t regadr,uint16_t dat)
|
||||
Lmx_CSB_SET(); //ƬѡʧЧ//
|
||||
|
||||
}
|
||||
|
||||
void LmxWrite32(uint32_t data)
|
||||
{
|
||||
uint8_t regadr = (data&0xff0000)>>16;
|
||||
uint16_t dat = (data&0xffff);
|
||||
|
||||
|
||||
printf("write addr 0x%02x 0x%04x\r\n",regadr,dat);
|
||||
regadr=regadr&0x7f; //将寄存器地址最高位置0,确保为写操作//
|
||||
Lmx_CSB_RESET(); //片选信号拉低//
|
||||
DELAY_Nop(50);
|
||||
Lmx_SCK_RESET();
|
||||
DELAY_Nop(50);
|
||||
spi_8bit(regadr); //送出地址//
|
||||
spi_16bit(dat); //送出数据//
|
||||
DELAY_Nop(50);
|
||||
Lmx_CSB_SET(); //片选失效//
|
||||
|
||||
}
|
||||
|
||||
|
||||
void LmxPortReset(void)
|
||||
{
|
||||
Lmx_CSB_SET(); //ƬѡʧЧ//
|
||||
@ -216,7 +237,6 @@ void Lmx_PortIntit(void)
|
||||
|
||||
void SetLmxParameter(void)
|
||||
{
|
||||
|
||||
lmx.LMX_R70.All= 0x0000;
|
||||
lmx.LMX_R69.All= 0x0000;
|
||||
lmx.LMX_R68.All= 0x0000;
|
||||
@ -321,14 +341,72 @@ LL_mDelay(50);
|
||||
DELAY_Nop(500000);
|
||||
DELAY_Nop(500000);
|
||||
DELAY_Nop(500000);
|
||||
|
||||
LmxWrite(0,lmx.LMX_R0.All);
|
||||
|
||||
DELAY_Nop(500000);
|
||||
|
||||
LmxWrite(0,lmx.LMX_R0.All);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SetLmxFreq2594(void)
|
||||
{
|
||||
LL_mDelay(50);
|
||||
LmxWrite(0,0x2204); //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);
|
||||
LmxWrite(64,lmx.LMX_R64.All);
|
||||
LmxWrite(62,lmx.LMX_R62.All);
|
||||
LmxWrite(61,lmx.LMX_R61.All);
|
||||
LmxWrite(59,lmx.LMX_R59.All);
|
||||
LmxWrite(48,lmx.LMX_R48.All);
|
||||
LmxWrite(47,lmx.LMX_R47.All);
|
||||
LmxWrite(46,lmx.LMX_R46.All);
|
||||
LmxWrite(45,lmx.LMX_R45.All);
|
||||
LmxWrite(44,lmx.LMX_R44.All);
|
||||
LmxWrite(43,lmx.LMX_R43.All);
|
||||
LmxWrite(42,lmx.LMX_R42.All);
|
||||
LmxWrite(41,lmx.LMX_R41.All);
|
||||
LmxWrite(40,lmx.LMX_R40.All);
|
||||
LmxWrite(39,lmx.LMX_R39.All);
|
||||
LmxWrite(38,lmx.LMX_R38.All);
|
||||
LmxWrite(37,lmx.LMX_R37.All);
|
||||
LmxWrite(36,lmx.LMX_R36.All);
|
||||
LmxWrite(35,lmx.LMX_R35.All);
|
||||
LmxWrite(34,lmx.LMX_R34.All);
|
||||
LmxWrite(33,lmx.LMX_R33.All);
|
||||
LmxWrite(32,lmx.LMX_R32.All);
|
||||
LmxWrite(31,lmx.LMX_R31.All);
|
||||
LmxWrite(30,lmx.LMX_R30.All);
|
||||
LmxWrite(29,lmx.LMX_R29.All);
|
||||
LmxWrite(28,lmx.LMX_R28.All);
|
||||
LmxWrite(25,lmx.LMX_R25.All);
|
||||
LmxWrite(24,lmx.LMX_R24.All);
|
||||
LmxWrite(23,lmx.LMX_R23.All);
|
||||
LmxWrite(22,lmx.LMX_R22.All);
|
||||
LmxWrite(21,lmx.LMX_R21.All);
|
||||
LmxWrite(20,lmx.LMX_R20.All);
|
||||
LmxWrite(19,lmx.LMX_R19.All);
|
||||
LmxWrite(14,lmx.LMX_R14.All);
|
||||
LmxWrite(13,lmx.LMX_R13.All);
|
||||
LmxWrite(12,lmx.LMX_R12.All);
|
||||
LmxWrite(11,lmx.LMX_R11.All);
|
||||
LmxWrite(10,lmx.LMX_R10.All);
|
||||
LmxWrite(9,lmx.LMX_R9.All);
|
||||
LmxWrite(8,lmx.LMX_R8.All);
|
||||
LmxWrite(7,lmx.LMX_R7.All);
|
||||
LmxWrite(3,lmx.LMX_R3.All);
|
||||
LmxWrite(2,lmx.LMX_R2.All);
|
||||
LmxWrite(1,lmx.LMX_R1.All);
|
||||
DELAY_Nop(500000);
|
||||
DELAY_Nop(500000);
|
||||
DELAY_Nop(500000);
|
||||
LmxWrite(0,lmx.LMX_R0.All);
|
||||
DELAY_Nop(500000);
|
||||
LmxWrite(0,lmx.LMX_R0.All);
|
||||
}
|
||||
|
||||
//check LD
|
||||
//configure the register again,when check the LD is low
|
||||
|
||||
|
@ -254,14 +254,18 @@ int main(void)
|
||||
LL_ADC_Enable(ADC1);
|
||||
Lmx_PortIntit();
|
||||
lv_init(); // LittleVgl (6.0)
|
||||
SetLmxParameter();
|
||||
// SetLmxParameter();
|
||||
/* USER CODE BEGIN 2 */
|
||||
ILI9341_init();
|
||||
|
||||
// 设置可以读取寄存器
|
||||
// LmxWrite32(0x230132);
|
||||
|
||||
short read111 = lmxRead(68);
|
||||
LL_mDelay(100);
|
||||
|
||||
//short read111 = lmxRead(68);
|
||||
//LL_mDelay(100);
|
||||
|
||||
/*
|
||||
static lv_color_t disp_buf1[320 * 10] = {0};
|
||||
static lv_disp_draw_buf_t buf;
|
||||
lv_disp_draw_buf_init(&buf, disp_buf1, NULL, 320 * 10);
|
||||
@ -418,15 +422,17 @@ int main(void)
|
||||
|
||||
|
||||
LL_mDelay(250);
|
||||
|
||||
LMX2592_WRITE_FREQ(4000.0);
|
||||
*/
|
||||
//LMX2592_WRITE_FREQ(4000.0);
|
||||
|
||||
int i = 0;
|
||||
LMX2594_Init();
|
||||
|
||||
while (1)
|
||||
{
|
||||
i++;
|
||||
if(i > 30){
|
||||
/*
|
||||
read111 = lmxRead(68);
|
||||
if((read111&(0x03<<9) == 0) || (read111&(0x03<<9) == 1) || (read111&(0x03<<9) == 2)){
|
||||
if(gOut)
|
||||
@ -439,6 +445,7 @@ int main(void)
|
||||
else
|
||||
lv_label_set_text(label2, "#000000 state: # #00ff00 locked# #ff0000 off#"); //????
|
||||
}
|
||||
*/
|
||||
i = 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user