msp430f149控制lcd12864显示汉字

msp430f149控制lcd12864显示汉字代码,msp430f149控制lcd12864显示汉字代码下载

f1

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于通过MSP430F149实现对RC522的写卡操作。
我是一个新人,刚刚接触嵌入式。 前几日在淘宝购买了 MSP430F149和RFID RC522。收到货之后,按照流程测试了MSP430F149,正常。 并且按照PDF《RFID RC522读卡模块使用说明》对RC522进行了读卡操作,也正常。但是想要学习进行写卡操作,打开IC调试程序之后,寻卡总是失败。请问原因是什么? 需要重新烧录哪一个程序吗?还是接线方式需要更改,连接上也没有使用说明上的蜂鸣声。谢谢! (我在百度和搜狗查询很久,基本都是po出来一段代码) 程序和软件这个链接里面: 提取码:mjir [程序和代码](https://pan.baidu.com/s/1Zz-4E5Kw_Hv1HQZwjOM5mA "提取码:mjir ")
MSP430G2553并行驱动12864液晶的程序,请大家帮我看看问题出在哪里?上电无显示。
请大家帮我看一下程序,哪个地方出了问题,上电没有反应,我的液晶型号是12864B V2.0,还有如果大家帮我指点一下程序风格,不胜感激。 只有C币5个……全部贡献啦~ 主函数 ``` #include "main.h" void main(void) { init_cpu(); //初始化芯片 init_lcdport(); init_lcd(); //初始化液晶 while(1){ write_cmd(0x80); write_dat('A'); } } void init_cpu(void) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 BCSCTL1 = CALBC1_1MHZ; //设置DCO为1MHZ DCOCTL = CALDCO_1MHZ; } ``` 液晶12864 ``` 端口定义: DB0~DB7->P1.0~P1.7 RS ->P2.0 R/W->P2.1 E ->P2.2 RST->P2.3 ``` ``` #include "lcd12864b.h" void init_lcd(void) //初始化液晶 { delay_nms(50); //上电等待 RST_H; delay_nms(1); RST_L; delay_nms(2); RST_H; write_cmd(0X30); //基本指令集 delay_nms(1); write_cmd(0X30); delay_nms(1); write_cmd(0X0C); //显示开,游标关,反白禁止 delay_nms(1); write_cmd(0X01); //清屏 delay_nms(10); } void set_textpos(unsigned char X,unsigned char Y) //设定显示坐标 { unsigned char textpos; switch (X){ case 0: textpos = 0X80; //X:0-3,Y:0-7 break; case 1: textpos = 0X90; break; case 2: textpos = 0X88; break; case 3: textpos = 0X98; break; default: break; } textpos = textpos + Y; write_cmd(textpos); } void init_lcdport(void) //定义与液晶有关的端口 { P1SEL = 0X00; P1DIR = 0XFF; P2SEL = 0X00; //定义为普通IO口 P1DIR |= BIT0 + BIT1 + BIT2 + BIT3; //定义IO口为输出 } void write_cmd(unsigned char wcmd) { RS_L; //命令 RW_L; //写 E_L; P1OUT = wcmd; delay_nms(2); //等待数据稳定 E_H; delay_nms(2); //等待写入完毕 E_L; } void write_dat(unsigned char wdat) { RS_H; //数据 RW_L; //写 E_L; P1OUT = wdat; delay_nms(2); E_H; delay_nms(2); E_L; } ```
单片机MSP430f5529看门狗定时器
MSP430f5529,用看门狗定时器使p3.7引脚相连的LED每秒点亮一次,灯亮的时间为定时的四分之一
MSP430F149定时器运用问题?
程序开始一直检测是否在充电,如果在充电,就让LED闪烁,否则循环检测。怎么实现? led闪烁就要循环了,那外层循环还有什么用啊? 求大神帮助
MSP430F149串口接收中断数据存储问题,SOS~
我在使用串口接收中断读取NFC模块数据时,我想将NFC模块回传的状态指令存储于数组中。通过串口助手,NFC模块可以收到单片机发送的请求指令,同时会向MSP430单片机发送状态指令。但是数组中并没有相关数据,请各位指点迷津,感激不尽!代码如下: ``` /********************************************************************** USART0 接收中断函数 ***********************************************************************/ #pragma vector = USART0RX_VECTOR __interrupt void Usart0_Rx(void) { IE1&=~URXIE0; //关闭串口中断使能 uint i=3; uchar *pq0=value; //value[N_Data]={0xfe,0xfe,0xfe,0xf,...} SendUart(pq0,N_Data); //发送数据请求指令 Add_UsData(RXBUF0); //接收NFC状态 while(P2IN==1) //有手机靠近NFC { i--; if(aRxBuff[9]==0xE7) { TXBUF0 = (uchar)times0; } else SendUart(pq0,20); if(i==0) break; } IE1|=URXIE0; // 使能USART0的接收中断 } /********************************************************************** 功能:发送函数。采用查询方式。 PBuffer:指向发送数据缓冲区的指针 n_byte:发送的字节数 ***********************************************************************/ void SendUart(uint *pBuffer,uint n_byte) { uint q0; for(q0=0;q0<n_byte;q0++) { while((IFG1&UTXIFG0)==0); //判断是否发送完毕 TXBUF0=*pBuffer; pBuffer++; } pBuffer=0; } /********************************************************************** 处理NFC状态数据 ***********************************************************************/ void Add_UsData(uchar *sq0) { if(NRxBuff<N_Data) { while((IFG1&URXIFG0)==0); //判断是否接收完毕 aRxBuff[NRxBuff]=*sq0; NRxBuff++; } NRxBuff=0; } ```
msp430f5529驱动安装后在我的电脑上无显示
最开始msp430f5592lp安装驱动成功后在我的电脑显示为fat,现在没有窗口了,请问该怎么样弄才能打开里面的文件呢?
msp430f149+ds3231 模拟iic 怎么没有sda信号?哪里不对了?
#define DS_SCL BIT4 //DS_SCL = P5.4 #define DS_SDA BIT6 //DS_SDA = P2.6 #define DS_SCL_IN P5DIR &= ~DS_SCL #define DS_SCL_OUT P5DIR |= DS_SCL #define DS_SCL0 P5OUT &= ~DS_SCL #define DS_SCL1 P5OUT |= DS_SCL #define DS_SDA_IN P2DIR &= ~DS_SDA #define DS_SDA_OUT P2DIR |= DS_SDA #define DS_SDA0 P2OUT &= ~DS_SDA #define DS_SDA1 P2OUT |= DS_SDA #define DS_SDA_BIT P2IN & DS_SDA void Init_CLK(void) { unsigned int i; BCSCTL1 &= ~XTS; do{ IFG1 &= ~OFIFG; for(i=0xFF;i>0;i--); } while((IFG1 & OFIFG)!=0); BCSCTL2 |= SELS+SELM1; _EINT(); P5SEL|=0x30; DS_SCL_OUT; //SCLK对应的IO设置为输出状态 P2DIR&=0xbf; P2OUT|=BIT6; DS_SCL0; //SCLK=0 delay_us(5); } void DS3231_Write(u8 write_address,u8 write_data) { u8 Device_Address = 0xD0; //DS3231写设备地址 iic_Start(); //开始 iic_SendByte(Device_Address); //发送设备地址 iic_Ack(); iic_SendByte(write_address); //发送地址 iic_Ack(); //应答 iic_SendByte(write_data); //发送数据 iic_Ack(); //应答 iic_Stop(); //停止 } u8 DS3231_Read(u8 read_address) { u8 Receive_Data; //数据接收 u8 Device_Address = 0xD0; //DS3231写设备地址 iic_Start(); //开始 iic_SendByte(Device_Address); //发送设备地址 iic_Ack(); //应答 iic_SendByte(read_address); //发送地址 iic_Ack(); //应答 iic_Start(); //重复开始 Device_Address = 0xD1; //DS3231读设备地址 iic_SendByte(Device_Address); //发送地址 iic_Ack(); //应答 iic_in(); Receive_Data = iic_ReceiveByte(); //接收数据 iic_out(); iic_NAck(); //不应答 iic_Stop(); //停止 return Receive_Data; //返回数据 } void delay_us(u8 time) { for(int i=0;i<time;i++) _NOP(); } view plaincopy to clipboardprint? <br> //------------iic开始----------- void iic_Start(void) { DS_SDA_OUT; DS_SCL_OUT; DS_SCL1; delay_us(5); DS_SDA1; delay_us(10); DS_SDA0; delay_us(5); DS_SCL0; delay_us(5); DS_SDA_IN; } //------------iic结束----------- void iic_Stop(void) { DS_SDA_OUT; DS_SCL_OUT; DS_SCL1; delay_us(10); DS_SDA0; delay_us(5); DS_SDA1; delay_us(5); DS_SDA_IN; } //------------iic应答----------- void iic_Ack(void) { DS_SCL0; DS_SDA0; delay_us(5); DS_SCL1; delay_us(5); DS_SCL0; delay_us(5); } //------------iic不应答--------- void iic_NAck(void) { DS_SCL0; DS_SDA1; delay_us(5); DS_SCL1; delay_us(5); DS_SCL0; delay_us(5); } //------------iic发送----------- void iic_SendByte(u8 SendData) { DS_SDA_OUT; DS_SCL_OUT; DS_SCL0; u8 i; for(i=0;i<8;i++) { DS_SCL0; delay_us(5); if(SendData&0x80) //MSB在前 DS_SDA1; else DS_SDA0; DS_SCL1; delay_us(2); DS_SCL0; SendData<<=1; } //delay_us(5); //DS_SDA1; //delay_us(5); //DS_SDA_IN; } //------------iic接收----------- u8 iic_ReceiveByte(void) { u8 i,temp=0; delay_us(5); DS_SDA1; delay_us(5); for(i=0;i<8;i++) { temp<<=1; DS_SCL0; delay_us(5); DS_SCL1; delay_us(2); temp=DS_SDA_BIT; if(temp==0x80) temp=temp|0x01; else temp=temp&0xFE; } DS_SCL0; delay_us(2); return temp; } void iic_in() { DS_SCL_OUT; DS_SDA_IN; } void iic_out() { DS_SCL_OUT; DS_SDA_OUT; DS_SCL1; delay_us(5); DS_SDA1; delay_us(2); }
大神们求助关于msp430f5529
求一个基于msp430f5529的贪吃蛇和走迷宫的小游戏代码(>﹏<)(>﹏<)(>﹏<)(>﹏<)
求msp430F149避障小车C程序,要是是智能小车更好
谢谢!请发送邮箱875604452@qq.com!,加分!避障用hc-sr04
用msp430完成一道题目
用msp430实现如下功能: 从p1口读入4个开关状态转换为16进制数,从p2口输出到数码管显示(共阴极) 要求: 1.求实现此功能的程序,并且逐行解释程序,越详细越好。 2.画出相应的硬件电路图。
编了一个MSP430f249捕获脉冲宽度的程序,没有捕获到数据,麻烦大神们帮忙看看
程序代码如下: main.c文件: /*定时器B测量某输入信号脉冲宽度*/ #include <msp430f249.h> #include"lcd.h" #define M1 10 unsigned int cap1,N1; long width[10]={0,0,0,0,0,0,0,0,0,0}; char m=0; char lcd_buf[]={0,0,0,0,0,0}; long data; const char table[]="0123456789"; const char table1[]="width(us)"; void data_to_buf(unsigned long data2)//值送显示缓冲区函数 { unsigned char i; for(i=0;i<6;i++) { lcd_buf[i]=table[data2%10];//此时低位在前 data2=data2/10; } for(i=5;i>0;i--) { if(lcd_buf[i]=='0') lcd_buf[i]=' ';//数字其那面的0不显示 else break; } } void main( void ) { char num,k1; // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;//关闭看门狗 BCSCTL2=SELS+DIVS0+DIVS1;//SMCLK=XT2 P4SEL|=0x01;//P4.0作为捕获模块功能输入端输入方波 P5DIR=0xFF;//设置P5端为输出 P6DIR=0xFF;//设置P6端为输出 lcdinit(); //TBCCTL0=0;//捕获源为P4.0,即CCI0A(也是CCI0B) TBCCTL0|=CM_1+SCS+CAP+CCIE;//上升沿捕获,同步捕获,工作在捕获模式 //+终端允许 TBCTL|=TBSSEL_2+MC_2+TBIE;//选择SMCLK+连续计数模式 //+终端允许 write_com(0x80);//显示第一行字 for(num=0;num<10;num++) write_data(table1[num]); _EINT();//中断允许 while(1) { data=0; for(k1=0;k1<M1;k1++) data+=width[k1]; data=data/M1; //data=10000; if(m==0) { data_to_buf(data);//数据送显示缓冲区 write_com(0x80+0x40);//第二行显示频率 for(num=0;num<6;num++) write_data(lcd_buf[5-num]); } } } #pragma vector=TIMERB0_VECTOR __interrupt void TimerB0(void)//定时器TB的CCR0的中断,用于检测脉冲上升与下降 { if(TBCCTL0&CM1)//捕获到下降沿 { width[m++]=65536*N1+TBCCR0-cap1;//记录下结束时间 N1=0; TBCCTL0=CM_1+SCS+CAP+CCIE;//+TBCLR; //改为上升沿捕获,CM1置0,CM0置1 if(m==M1) m=0; } else if(TBCCTL0&CM0)//捕获到上升沿 { cap1=TBCCR0; N1=0; TBCCTL0=CM_2+SCS+CAP+CCIE;//+TBCLR; //改为下降沿捕获,CM0置0,CM1置1 } } //Timer_B7 Interrupt Vector(TBIV) handler #pragma vector=TIMERB1_VECTOR __interrupt void Timer_B(void) { switch(TBIV) { case 14:N1++;break;//溢出 } } lcd.c文件: #include<msp430f169.h> #define lcdrs_0 P6OUT&=~BIT0;//P6.0=0命令 #define lcdrs_1 P6OUT|=BIT0;//P6.0=1 #define lcden_0 P6OUT&=~BIT2;//P6.2=0 #define lcden_1 P6OUT|=BIT2;//P6.2=1 void delay(unsigned int z) { unsigned int i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void write_com(char com) //写入 { lcdrs_0;//LCD选择输入命令 P5OUT=com;//向P0端口输入命令 delay(5);//延时 lcden_1;//打开LCD使能 delay(5);//一个高脉冲 lcden_0;//关闭LCD使能 } void write_data(char dataout) { lcdrs_1;//设置为输入数据 P5OUT=dataout;//将数据赋给P0端口 delay(5);//延时 lcden_1;//置高 delay(5);//高脉冲 lcden_0;//置低,完成高脉冲 } void lcdinit() { lcden_0; write_com(0x38);//设置16X2显示5X7点阵,8位数据接口 write_com(0x0c);//设置开始显示,不显示光标 write_com(0x06);//写一个字符后地址指针加1 write_com(0x01);//显示清零,数据指针清零 } lcd.h文件: extern void delay(unsigned int z); extern void write_com(char com); extern void write_data(char dataout); extern void lcdinit(); 仿真结果如下: ![图片说明](https://img-ask.csdn.net/upload/201504/06/1428309208_679265.png) 在单片机上试结果一样没有。
msp430关于编译的问题
msp430g2553使用ccs编译时,出现这个问题应该如何处理。谢谢![图片](https://img-ask.csdn.net/upload/201703/26/1490511513_653778.jpg)
msp430F5529A中断程序运行卡顿
菜鸟写了一段程序如下,希望实现电子秤的功能。中断的话是两个按键触发的,首次按下S1,清零;第二次按下S1进行称重;按下S2则关机。 真正运行起来卡的不行甚至动不起来,请问是不是我的主函数设计有问题? 还有求多个触发中断的例程,感觉自己写的结构确实很不合理。 谢谢啦 void main(void) { P1DIR = 0X00;//调零,按下S1+开始称重,按下S1:设置P1.7为输入状态 P1IE = 0X80;//设置P1.7开中断 P1IES = 0X00;//设置P1.7中断为上升沿中断 P1IFG = 0;//清除P1的中断标志,无所谓,因为不用这个标志判断进入何种中断程序 _EINT();//开全局中断 P2DIR = 0X00;//关机,按下S2(P2.2),设为输入状态 P2IE = 0X04;//设置P2.2开中断 P2IES = 0X00;//设置P2中断为上升沿中断 _EINT();//开全局中断 welcome(); LPM3; } 具体的中断响应是这样的: #pragma vector = PORT1_VECTOR __interrupt void P1_ISR(void) { switch(m) //m为全局变量,初始值为1 { case 1: { m = 0; ADC(); zero[0] = results[0]; display0(); LPM3; } //实现清零功能 case 0: //实现称重功能 { ADC(); //称量程序 char q[4]; results[0] = results[0] - zero[0]; for(int i=3 ; i>=0; --i) { q[i] = results[0]%10+48; results[0]=results[0]/10; } display(q); LPM3; } } } #pragma vector = PORT2_VECTOR __interrupt void P2_ISR(void) { switch(k) { case 1: { k = 0; display2(); LPM3; } case 0: { k =1; welcome(); } } } 拜谢
关于MSP430F5529单片机的串口问题
一句话,我要疯了,,现在的问题是,使用的串口调试助手来调试的,开发环境从IAR低版本到高版本以及CCS,程序是官方程序和自己编写的,以及网友的。板子是标准板,还有个自己的板子。USB转串口线两条。但是结果都一样。 主要是使用串口调试助手发送字符串,然后接收相同的。结果是,如果我发较长的字符串,前四位会丢失。单个发送字符,根本没有任何返回信息。我简直要疯了,真的不知道原因了,期待大神拯救啊 代码如下: #include <msp430.h> int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P3SEL = BIT3+BIT4; // P3.4,5 = USCI_A0 TXD/RXD UCA0CTL1 |= UCSWRST; // **Put state machine in reset** UCA0CTL1 |= UCSSEL_2; // SMCLK UCA0BR0 = 6; // 1MHz 9600 (see User's Guide) UCA0BR1 = 0; // 1MHz 9600 UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16; // Modln UCBRSx=0, UCBRFx=0, // over sampling UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt P4OUT=0; __bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled __no_operation(); // For debugger } // Echo back RXed character, confirm TX buffer is ready first #pragma vector=USCI_A0_VECTOR __interrupt void USCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,4)) { case 0:break; // Vector 0 - no interrupt case 2: // Vector 2 - RXIFG while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX buffer ready? UCA0TXBUF = UCA0RXBUF; // TX -> RXed character break; case 4:break; // Vector 4 - TXIFG default: break; } }
msp430f5529关于灯闪烁间隔问题
请问下我想用timerA来使灯的闪烁间隔为20s,就是灯亮20s,灭20s,但他的极限就只有几秒,怎么改进来实现或者用其他方法
单片机msp430实验求解
谁有单片机msp430汽车转向灯实验的程序和proteus仿真图啊,急求啊,谢谢
msp430接1602无法显示
用430g2553与1602用4根数据线,程序调试的时候正常,全速运行就不行了,是怎么回事
MSP430F5529开发板,如何实现不接外部的上拉电阻,编写4X4键盘代码。
通过软件内部上拉电阻, P3.0--P3.3为输出口,P3.4--P3.7为输入口上拉电阻 ``` #include <msp430f5529.h> unsigned int Keyscan(); //申明按键检测函数 unsigned int key; //设置的返回变量 unsigned int Keyscan() //按键检测函数 { unsigned char key_ch; unsigned char count, j; P1OUT |= 0x00; if((P3IN & 0xF0) == 0) { __delay_cycles(10000); //延时10ms if((P3IN & 0xF0) == 0) { count = 0xFE; while((count & 0xF0) != 0xF0);//等待按键抬起 { P3OUT = count & 0x0F; if((P3IN & 0xF0) == 0) { j = (P3IN & 0xF0)|0x0F; key_ch = (j & count); return key_ch; } else { count = (count << 1)|0x01; } } } return 0xFF; } return 0xFF; } char Getkey_num(char k) { char num; switch(k) { case 0x77: num = 0; break; case 0x7B: num = 1; break; case 0x7D: num = 2; break; case 0x7E: num = 3; break; case 0xB7: num = 4; break; case 0xBB: num = 5; break; case 0xBD: num = 6; break; case 0xBE: num = 7; break; case 0xD7: num = 8; break; case 0xDB: num = 9; break; case 0xDD: num = 10; break; case 0xDE: num = 11; break; case 0xE7: num = 12; break; case 0xEB: num = 13; break; case 0xED: num = 14; break; case 0xEE: num = 15; break; default: num = 122; break; } return num; } void main(void) { WDTCTL=WDTPW+WDTHOLD; // 关闭看门狗 P1DIR |= BIT0; //配置P1.0为输出功能 P4DIR |= BIT7; //接LED1 P1OUT &= ~BIT0; //配置P4.7为输出功能 P4OUT &= ~BIT7; //接LED2 /*按键初始化*/ P3DIR &= ~(BIT4 + BIT5 + BIT6 + BIT7); P3OUT |= (BIT4 + BIT5 + BIT6 + BIT7); P3REN |= (BIT4 + BIT5 + BIT6 + BIT7); //设置为内部上拉 while(1) { key = Getkey_num(Keyscan()); //按键检测 if(key != 122) { P1OUT ^= BIT0; __delay_cycles(1000000); } else { P4OUT ^= BIT7; __delay_cycles(1000000); } } } ``` 代码如上,建立编译没问题,但是通过点击4X4按键,LED1(P1.0)没有点亮。 如有错误,请大佬们指出。 (是不是一定需要外部上拉电阻。) 望各位大佬指导一下,感激不尽 可以的话,能给出关键代码量。
MSP430F247串口发送问题,求高手帮忙看一下,谢谢,实在是弄不出来了~
我的程序是这样的: #include <msp430f247.h> void delay_us(int n) { for(int i=0; i<n; i++) for(int j=0; j<8; j++); } void UartInit() { UCA0CTL1 |= UCSWRST; P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD UCA0CTL1 |= UCSSEL1; //8Mhz, 115200 UCA0CTL0 = 0; // UCA0CTL0 &= ~UC7BIT; //no parity, 8-bit data, uart mode UCA0BR0 = 69; UCA0BR1 = 0; UCA0MCTL |= UCBRS2; UCA0CTL1 &= ~UCSWRST; IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt } int main( void ) { volatile unsigned int i; // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //clock set BCSCTL1 &= ~XT2OFF; // XT2on BCSCTL2 |= SELM1 + SELS + DCOR; do { IFG1 &= ~OFIFG; // Clear OSCFault flag delay_us(50); }while((IFG1 & OFIFG)); // BCSCTL3 |= XT2S1; //uart init UartInit(); //spi init // SpiInit(); _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt while(1) { while (!(IFG2&UCA0TXIFG)); UCA0TXBUF = 0xab; } } #pragma vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) { while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready? UCA0TXBUF = UCA0RXBUF; // TX -> RXed character } 实在是弄不明白为什么每次启动单片机就发送了个0xE0然后就没了,但是我的while里面是一直发送的啊,而中断程序里的发送是正常的,也就是当pc给单片机发送的时候单片机将收到的字节发送回来是可以的,怎么调都是这样的,求大神指点一二,谢谢了~
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问