MSP430G2转换结果数据类型

以下是程序,软件用的IAR:

#include "io430.h"
#include "dandao_duocai.h"
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define dataout P2OUT
unsigned int ADC10_Result[100];
int d,c;

void cheek_clock()
{
BCSCTL3_bit.LFXT1S0 = 0; //配置ACLK为12KHz
BCSCTL3_bit.LFXT1S1 = 1;

if(CALBC1_1MHZ==0xFF||CALDCO_1MHZ==0xFF) //配置MCLK为1MHz
while(1); //校准数据是否被擦除,若是则CPU挂起。
BCSCTL1=CALBC1_1MHZ;
DCOCTL=CALDCO_1MHZ;

}

///////----------采集一串数,并取出最大值

void zzzz()
{
//unsigned int ADC10_Result[100];
int i,j;
P1SEL|=BIT1;//P1.1第二功能

ADC10CTL1 |= CONSEQ_2; //单通道重复采样模式
ADC10CTL0 |= SREF_1+REFON+REF2_5V;//选择内部参考源2.5V,打开基准源

ADC10CTL0 |= ADC10SHT_3+MSC; //过采样率设置为64个采样周期,打开AD转换
ADC10CTL1|= ADC10SSEL_1+ADC10DIV_1+SHS_0; //ACLK2分频为采样时钟,用ADC10SC触发采集
ADC10CTL1 |=INCH_1; //选择通道A1

ADC10CTL0 |= ADC10ON; //开启ADC10
ADC10AE0 |= 0x02; //开启外部通道A1

ADC10CTL0&=~ADC10IFG;//清中断标志
for(int k=0;k<100;k++)
{
ADC10CTL0 |=ENC+ADC10SC; //开始转换
while((ADC10CTL0 &ADC10IFG)==0); //等待ADC10IFG标志变高(转换完成)
ADC10_Result[k]=ADC10MEM; //读取采样结果
delay_ms(2);
P1SEL&=~BIT1;//关P1.1第二功能。

}
////////--------取ADC10_Result[100] 中的最大数赋值给C

for(i=0;i<100;i++)
{
for(j = i + 1;j<100;j++)
if(ADC10_Result[i]<=ADC10_Result[j])
{
d=ADC10_Result[i];ADC10_Result[i]=ADC10_Result[j];ADC10_Result[j]=d;
}
}
c=ADC10_Result[99];
/////////--------取ADC10_Result[100] 中的最大数赋值给C

}

///////----------采集一串数,并取出最大值

void beishu()
{

if(c dataout=0x00;
if((c>=45)&&(c dataout=0x01;
if((c>=53)&&(c<613))
dataout=0x10;
else
dataout=0x11;
}

int main(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
cheek_clock();
P2DIR|=(BIT0+BIT1+BIT2);
while(1)
{
zzzz(); /// ----调用
beishu();
dataout&=~BIT3;/////p1.3外接另一个芯片的使能端。低电平有效,
}

}

问题是:Error[Pe147]: declaration is incompatible with "unsigned char ADC10_Result[100]" (declared at line 6 of "D:\workspace_v5_1\lianxi\caiji_fangda\dandao_duocai.h") D:\workspace_v5_1\lianxi\caiji_fangda\main.c 7

补充:当我将unsigned int ADC10_Result[100];设置为局部变量时(也就是zzzz()子程序中的屏蔽部分)就不会有错。或者我把这个数组定义为unsigned char 类型且作为全局变量也可以,但是unsigned char 是8位的,而转换结果是10位,软件没报错。

1个回答

补充:我改一点程序后,可以定义为全局变量了,以下是程序。但是还有一个不懂的地方就是unsigned char 是8位的,而转换结果是10位,软件没报错。求大神指导呀,,,

#include "io430.h"
#define CPU_F ((double)1000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define dataout P2OUT
unsigned int ADC10_Result[100];
int d,c;

void check_clock()
{
BCSCTL3_bit.LFXT1S0 = 0; //配置ACLK为12KHz
BCSCTL3_bit.LFXT1S1 = 1;

if(CALBC1_1MHZ==0xFF||CALDCO_1MHZ==0xFF) //配置MCLK为1MHz
while(1); //校准数据是否被擦除,若是则CPU挂起。
BCSCTL1=CALBC1_1MHZ;
DCOCTL=CALDCO_1MHZ;

}
void zzzz()
{

P1SEL|=BIT1;//P1.1第二功能

ADC10CTL1 |= CONSEQ_2; //单通道重复采样模式
ADC10CTL0 |= SREF_1+REFON+REF2_5V;//选择内部参考源2.5V,打开基准源

ADC10CTL0 |= ADC10SHT_3+MSC; //过采样率设置为64个采样周期,打开AD转换
ADC10CTL1|= ADC10SSEL_1+ADC10DIV_1+SHS_0; //ACLK2分频为采样时钟,用ADC10SC触发采集
ADC10CTL1 |=INCH_1; //选择通道A1

ADC10CTL0 |= ADC10ON; //开启ADC10
ADC10AE0 |= 0x02; //开启外部通道A1

ADC10CTL0&=~ADC10IFG;//清中断标志
for(int k=0;k<200;k++)
{
ADC10CTL0 |=ENC+ADC10SC; //开始转换
while((ADC10CTL0 &ADC10IFG)==0); //等待ADC10IFG标志变高(转换完成)
ADC10_Result[k]=ADC10MEM; //读取采样结果
delay_ms(1);
P1SEL&=~BIT1;//关P1.1第二功能。

}

int i,j;
for(i=0;i<100;i++)
{
  for(j = i + 1;j<100;j++)
    if(ADC10_Result[i]>=ADC10_Result[j])
     {
        d=ADC10_Result[i];ADC10_Result[i]=ADC10_Result[j];ADC10_Result[j]=d;
             }
 }
    c=ADC10_Result[99];

}

void beishu()
{

if(c dataout=0x00;
if((c>=45)&&(c dataout=0x01;
if((c>=53)&&(c<613))
dataout=0x10;
else
dataout=0x11;
}

int main(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
check_clock();
P2DIR|=0xff;

while(1)
{
dataout&=~BIT2;
zzzz();
beishu();
delay_us(10);
}

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
msp430关于编译的问题
msp430g2553使用ccs编译时,出现这个问题应该如何处理。谢谢![图片](https://img-ask.csdn.net/upload/201703/26/1490511513_653778.jpg)
用msp430完成一道题目
用msp430实现如下功能: 从p1口读入4个开关状态转换为16进制数,从p2口输出到数码管显示(共阴极) 要求: 1.求实现此功能的程序,并且逐行解释程序,越详细越好。 2.画出相应的硬件电路图。
msp430f149控制lcd12864显示汉字
msp430f149控制lcd12864显示汉字代码,msp430f149控制lcd12864显示汉字代码下载
请问msp430处理串口数据为什么只能处理一个字节
我在处理msp430接收中断函数,发现实际串口助手发送一个字符串,单片机其实只会响应其中一个字符,是单片机本身特点就这样么?我都是用开发板例子写的,照理说应该没啥问题,也和芯片书上写的对过了感觉程序应该没问题,所以找论坛大牛确认一下
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; } ```
msp430g2553人机交互中,只有接收没发送
我们用LaunchPad指导书中的USCI的UART模式中的程序进行人机交互,发现总是光有接收没有回复,没有办法控制单片机的P1.0,P1.6LED的亮灭,这是怎么回事啊? [我的帖子](http://bbs.csdn.net/topics/390968797 "")
单片机msp430实验求解
谁有单片机msp430汽车转向灯实验的程序和proteus仿真图啊,急求啊,谢谢
单片机MSP430f5529看门狗定时器
MSP430f5529,用看门狗定时器使p3.7引脚相连的LED每秒点亮一次,灯亮的时间为定时的四分之一
msp430接1602无法显示
用430g2553与1602用4根数据线,程序调试的时候正常,全速运行就不行了,是怎么回事
单片机MSP430怎么通过按键点灯啊
我想不按键的时候LED2灯(对应P1.6引脚)亮,LED1灯(对应P1.0引脚)灭。 按下按键后两灯互换状态并延迟30s左右,再复位。 程序已经写好了,但不知道哪里出了点问题,不能实现我这个功能,帮忙看一下,谢谢! ``` #include <msp430g2553.h> void main(void) { WDTCTL=WDTPW+WDTHOLD; P1OUT &= ~BIT0; //设置p1.0输出置地 P1OUT |= BIT6; //设置p1.6输出置高 P1OUT &= ~BIT0; //设置p1.0输出置地 P1DIR |= BIT6; //设置p1.6为输入 P1DIR &= ~BIT3; //设置p1.3为输入 P1REN |= BIT3; //使能内部电阻 P1OUT|=BIT3; //电阻上拉 int CLO(); RE_2: while(1) { switch(P1IN & BIT3) { case 0: { P1OUT |= BIT0; //p1.0开灯 P1OUT &= ~BIT6; //p1.6关灯 CLO(); P1OUT &= ~BIT0; //p1.0关灯 P1OUT |= BIT6; //p1.6开灯 break; } case 1:break; } goto RE_2; } } int CLO() //延迟30s { int i=1; while(1) { while(i<60) //12 *5s=60s { __delay_cycles(500000); //5s i++; } } } ```
大神们求助关于msp430f5529
求一个基于msp430f5529的贪吃蛇和走迷宫的小游戏代码(>﹏<)(>﹏<)(>﹏<)(>﹏<)
关于通过MSP430F149实现对RC522的写卡操作。
我是一个新人,刚刚接触嵌入式。 前几日在淘宝购买了 MSP430F149和RFID RC522。收到货之后,按照流程测试了MSP430F149,正常。 并且按照PDF《RFID RC522读卡模块使用说明》对RC522进行了读卡操作,也正常。但是想要学习进行写卡操作,打开IC调试程序之后,寻卡总是失败。请问原因是什么? 需要重新烧录哪一个程序吗?还是接线方式需要更改,连接上也没有使用说明上的蜂鸣声。谢谢! (我在百度和搜狗查询很久,基本都是po出来一段代码) 程序和软件这个链接里面: 提取码:mjir [程序和代码](https://pan.baidu.com/s/1Zz-4E5Kw_Hv1HQZwjOM5mA "提取码:mjir ")
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; } ```
编了一个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) 在单片机上试结果一样没有。
msp430f5529驱动安装后在我的电脑上无显示
最开始msp430f5592lp安装驱动成功后在我的电脑显示为fat,现在没有窗口了,请问该怎么样弄才能打开里面的文件呢?
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(); } } } 拜谢
MSP430程序疑问,求大神帮忙
图1,peaksignal( )中,for(i=4096;i>0;i--)这段程序4096什么意思,后面备注写的16bit=4096不懂它什么回事? longtoascii( ),这个do…while语句是怎么转为ASCII的不明白 图2,systemperature( ),temp=temp+((xtemp-673)*42300)/1024这里面的参数什么意思,求大神帮忙
关于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; } }
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
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优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
实战:如何通过python requests库写一个抓取小网站图片的小爬虫
有点爱好的你,偶尔应该会看点图片文字,最近小网站经常崩溃消失,不如想一个办法本地化吧,把小照片珍藏起来! 首先,准备一个珍藏的小网站,然后就可以开始啦! 第一步 我们先写一个获取网站的url的链接,因为url常常是由page或者,其他元素构成,我们就把他分离出来,我找到的网站主页下有图片区 图片区内有标题页,一个标题里有10张照片大概 所以步骤是: 第一步:进入图片区的标题页 def getH...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问