单片机向串口发送键盘指令,串口助手在同一个指令上一直不停的跑 代码如下 哪位大神帮帮忙

#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar key_scan(); uchar key;
void SendOneByte(unsigned char c)

{

SBUF = c;
while(TI==0);

TI = 0;

}
void delay(uint k) //延时程序

{

uint i,j;

for(i=k;i>0;i--)

for(j=110;j>0;j--);

}

void main() //主程序

{ uchar b;

TMOD = 0x20; //定时器T1的工作方式2,8位数据自动重装

SCON = 0x50; //串行口的方式1,8位异步收发,波特率可变。

TH1 = 0xfd; // 装定时器1初值.

TL1 = 0xfd;

PCON = 0x00;

EA = 1; //开总中断

ES = 1; //串行口中断源允许

TR1 = 1; //开定时器1

while(1) //循环开始

{

    b=key_scan();       
    switch(b)
    {
    case 1: SendOneByte('1');  break;
    case 2: SendOneByte('2');  break;
    case 3: SendOneByte('3');  break;
    case 4: SendOneByte('4');  break;
    case 5: SendOneByte('5');  break;
    case 6: SendOneByte('6');  break;
    case 7: SendOneByte('7');  break;
    case 8: SendOneByte('8');  break;
    case 9: SendOneByte('9');  break;
    case 0: SendOneByte('0');  break;
    case 11:SendOneByte('U');  break;
    case 12:SendOneByte('Y');  break;
    case 13:SendOneByte('N');  break;
    case 14:SendOneByte('L');  break;
    case 15:SendOneByte('D');  break;
    case 16:SendOneByte('R');  break;
   default :break;  
    }

}

}

uchar key_scan()
{
uchar cord_h,cord_l,x;//行列值
P1=0xf0; //行线输出全为0
cord_h=P1&0xf0; //读入列线值
if(cord_h!=0xf0) //先检测有无按键按下
{
delay(80); //去抖
if(cord_h!=0xf0)
{
cord_h=P1&0xf0; //读入列线值

P1=cord_h|0x0f; //输出当前列线值
cord_l=P1&0x0f; //读入行线值
x=cord_h+cord_l;//键盘最后组合码值
switch ( x )

{
case 0xee: key=1; break;
case 0xde: key=2; break;
case 0xbe: key=3; break;
case 0x7e: key=4; break;
case 0xed: key=5; break;
case 0xdd: key=6; break;
case 0xbd: key=7; break;
case 0x7d: key=8; break;
case 0xeb: key=9; break;
case 0xdb: key=0; break;
case 0xbb: key=11; break;
case 0x7b: key=12; break;
case 0xe7: key=13; break;
case 0xd7: key=14; break;
case 0xb7: key=15; break;
case 0x77: key=16; break;
}

}
}

return key;

}

5个回答

我觉你的这个问题的原因是:b的值在上一次按键按下后就是一个固定的值了,比如你按下0xee之后,在按下第二个键之前,b的值就一直都是1,
所以while循环里会一直发送1.所以你需要在没有按键按下的时候,让keyscan()返回一个while的switch中没有的值,也就是执行default。

switch ( x )

{
case 0xee: key=1; break;
case 0xde: key=2; break;
case 0xbe: key=3; break;
case 0x7e: key=4; break;
case 0xed: key=5; break;
case 0xdd: key=6; break;
case 0xbd: key=7; break;
case 0x7d: key=8; break;
case 0xeb: key=9; break;
case 0xdb: key=0; break;
case 0xbb: key=11; break;
case 0x7b: key=12; break;
case 0xe7: key=13; break;
case 0xd7: key=14; break;
case 0xb7: key=15; break;
case 0x77: key=16; break;
}

在这个switch中加一个default:key=0;break;

switch ( x )

{
case 0xee: key=1; break;
case 0xde: key=2; break;
case 0xbe: key=3; break;
case 0x7e: key=4; break;
case 0xed: key=5; break;
case 0xdd: key=6; break;
case 0xbd: key=7; break;
case 0x7d: key=8; break;
case 0xeb: key=9; break;
case 0xdb: key=0; break;
case 0xbb: key=11; break;
case 0x7b: key=12; break;
case 0xe7: key=13; break;
case 0xd7: key=14; break;
case 0xb7: key=15; break;
case 0x77: key=16; break;
default:key=0;break;
}

你想要实现的是不是当检测到按键值时 只通过串口发送一次而不是连续发送吗?
思路为: 在串口发送函数前 判定本次按键值是否和上次检测的按键值相同, 如不同则表示有按键按下,发送键盘指令。相同无按键按下,不发送

在main函数外 定义1全局变量

prekeystate = 0; 上次检测按键状态
nowkeystate = 0; 本次检测全局变量

while(1) //循环开始
{
nowkeystate =key_scan(); //读取本次按键值

  if( nowkeystate != prekeystate )    //判定键值是否发生变化
    {
            switch(nowkeystate)                         //变化后 发送变化后的键值  只发送一次
            {   
            ……
            }

            prekeystate  =   nowkeystate;      //更新前次按键值    确保只发送一次 

    }


    希望可以帮助你
thinkflykasite
thinkflykasite 回复thinkflykasite: 说到扫描起码要让按键阵列扫描起来,网上应该有许多例子,这里不多说。不知道你外围电路,自己去检查一下哦,入门的问题。
大约 2 年之前 回复
thinkflykasite
thinkflykasite 回复u013045220: 这个可以归为阵列按键扫描问题,键值其实是一个触发值。所以键值应该在按下的边缘或者弹起的边缘来触发更新,这些变化应该以空键为判断常态。处理好这一点就不存在同键按下不冒键值或者按下一次弹出多次啦。
大约 2 年之前 回复
u013045220
君子筱宁 感谢您的帮助
大约 2 年之前 回复
u013045220
君子筱宁 相同问题 两次按下相同的键 只响应一次 需要按下其他键才能回到原先的键 这样解决的话影响了数值的输入,例如11,这样的话应该怎么解决呢?
大约 2 年之前 回复
HK_JY
灬Change 如果两次按下的键是同一个键呢,嘿嘿嘿
大约 2 年之前 回复

你的key定义成局部变量就可以了,我觉得不需要定义成全局变量。

每次按键按下后把b清零就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C8051单片机串口向PC串口助手发送数据时无法停止

调试一个简单的串口协议,当单片机收到串口发送的数据,解析数据无误后向串口回发一字节数据0x01,且只是发送一次,但串口助手不停得接收到0x0![图片说明](https://img-ask.csdn.net/upload/201510/15/1444891897_7612.png)1,不知道怎么解决

在uclinux下,如何设置串口才能发at指令?

最近上手了一个新的项目,由于代码之前已经实现在tos平台下通过串口发at指令,现在在uclinux平台下也须实现该功能,但是目前只能通过该串口看到系统启动时的调试信息,不能通过该口发送at指令。 我目前已经做的工作是:关闭该串口的控制台功能,使之成为普通串口。但是我通过关闭宏来实现该功能后,发现该串口出现的调试信息停在了start kernel这里,而且也还不能发at指令。 所以目前我有两个疑问:1.系统究竟有没起来?还是关闭了控制台功能后看不到start kernel之后的调试信息。 2.要如何设置串口才能使得能通过该串口发送at指令?

串口发送多条指令和接收到的多条数据怎么对应?(接收到的数据长度一样,功能码也一样)

串口发送多条指令和接收到的多条数据怎么对应?(接收到的数据长度一样,功能码也一样)

Android与单片机通过串口通信,收不到返回数据

Android通过串口向单片机发送一条16进制的指令,单片机收到以后会返回一条相同格式的命令。Android与PC上的串口助手调试,可以正确收发数据;单片机与串口助手调试,也可以正确收发数据。但是Android直接与单片机连接就收不到返回的数据。(发送数据的线程之后已经进行了延时)

51单片机串口发送字符串给电脑 自己写了程序但出不了结果

#include<reg51.h> unsigned char code L1[] = "123456789"; unsigned char code L2[] = "12345678"; void delay(void) { unsigned char n,m; for(m=0;m<200;m++) for(n=0;n<250;n++); } void send_str() { unsigned i = 0; while(L1[i]!='\0'); { SBUF = L1[i]; while(!TI); // 等特数据传送 TI = 0; // 清除数据传送标志 i++; } } void main () { TMOD = 0X20; SCON = 0X40; PCON = 0X00; TH1 = 0XFD; TL1 = 0XFD; TR1 = 1; REN = 1; while(1) { send_str(); delay(); } } 程序不长 但就是找不到错

上位机向单片机发送字符串

上位机向单片机发送一串字符串,存入一个数组缓冲区RX1_Buffer[COM_RX1_Lenth]中,接下来单片机提取数组缓冲区中的一部分字符串,将该字符串转化为整形数据,接着将整形数据转化为十六进制数通过串口发送给上位机,单片机连续向上位机发送数据,上位机第一次能正确的接收到上位机发送给单片机的数据,过后上位机收到的数据就是错误的,不知道是什么原因,附部分程序代码如下: void UART1_int (void) interrupt UART1_VECTOR { if(RI) { RI = 0; if(COM1.B_RX_OK == 0) { if(COM1.RX_Cnt >= COM_RX1_Lenth) COM1.RX_Cnt = 0; RX1_Buffer[COM1.RX_Cnt++] = SBUF; COM1.RX_TimeOut = TimeOutSet1; } } if(TI) { TI = 0; if(COM1.TX_read != COM1.TX_write) { SBUF = TX1_Buffer[COM1.TX_read]; if(++COM1.TX_read >= COM_TX1_Lenth) COM1.TX_read = 0; } else COM1.B_TX_busy = 0; } } void TX1_write2buff(u8 dat) //写入发送缓冲,指针+1 { TX1_Buffer[COM1.TX_write] = dat; //装发送缓冲 if(++COM1.TX_write >= COM_TX1_Lenth) COM1.TX_write = 0; if(COM1.B_TX_busy == 0) //空闲 { COM1.B_TX_busy = 1; //标志忙 TI = 1; //触发发送中断 } } void deal_uart(void) { if(RX1_Buffer[0]== 'R') { for(i=3;i<5;i++) Y_arr[i-3] = RX1_Buffer[i]; t_year = strtod(Y_arr,NULL); TAB_T[5] = DecToHex(t_year); for(i=6;i<8;i++) M_arr[i-6] = RX1_Buffer[i]; t_month = strtod(M_arr,NULL); TAB_T[4] = DecToHex(t_month); for(i=9;i<11;i++) D_arr[i-9] = RX1_Buffer[i]; t_day = strtod(D_arr,NULL); TAB_T[3] = DecToHex(t_day); for(i=12;i<14;i++) S_arr[i-12] = RX1_Buffer[i]; t_hour = strtod(S_arr,NULL); TAB_T[2] = DecToHex(t_hour); COM1.RX_Cnt = 0; } } void main(void) { while (1) { deal_uart(); for(i=0;i<) TX1_write2buff(TAB_T[i]); } } 求原因?

关于单片机命令格式以及发送给单片机的指令

数据传送格式 编 码: NRZ 波特率: 9600 双 工: 半双工 数据位: 8位 较验位: 无 停止位: 1位 命令帧格式: STX □ □ ETX BCC STX : 02(HEX),命令帧开始 □ □ : 操作命令,为两字节ASCII码 ETX : 03(HEX),命令帧结束 BCC: <STX>@□@□@ <ETX>,命令块异或校验码(@为异或运算符) 查询命令代码:0x02,0x52,0x46,0x03,0x15 这条查询命令我应该发给单片机什么呢,求大神指点,在线等!

ESP8266与STC89C51单片机通信,为什么单片机可以向ESP8266发送AT指令,但ESP8266发送的数据单片机接收不到?

最近学习APP与单片机通过ESP8266通信,ESP8266做服务器,APP能将数据发送到ESP8266,但ESP8266不能发送给单片机,请各位大佬帮忙解答一下。下面是代码。万分感谢 ``` void UartConfiguration() { TMOD |=0x20; //方式2 TH1=0xfd; //波特率9600 TL1=0xfd; // PCON=0x00; //波特率不加倍 SCON=0x50; // EA=1; // ES=1; // TR1=1; // TI=1; } void connect_init() { printf("AT+CIPMUX=1\r\n"); DelayMs(30000); printf("AT+CIPSERVER=1,8080\r\n"); } //重写putchar() char putchar(char ch) { ES=0; SBUF=ch; while(TI==0); TI=0; ES=1; return 0; } void ESP8266_init() { UartConfiguration(); TI=0; //等待发送完成 connect_init(); } void ESP_UART() interrupt 4 { static uchar i=0; if(RI==1) { RI=0; Recive_table[i]=SBUF; led3 = ~led3; sendByte(Recive_table[i]); i++; if((Recive_table[i-1]=='\n')) { Recive_table[i]='\0'; i=0; } } else TI=0; } ```

高分悬赏:单片机如何接受来自一个设备的触发信号然后控制另一个设备的状态

小弟我刚刚开始学习用arduino解决一点实验中的设备通讯问题,诚恳向大家求助。 1 问题背景 用单片机监控来自一台设备(dev1)的TTL触发信号,如果检测到信号就立刻控制另一台设备(dev2)的开启。dev2实际是一台激光器,所以发出是一组参数,控制激光的频率和占空比以及开启时长。 小弟设计了一个很简单的方案,从dev1的DB9口中引出三根线连到单片机上的rx,tx和GND上,单片机上引出两根线(GND 和一个pin脚)连到dev2的BNC接口引出的两根线上。用while(Serial.available()>0)来监控串口信息,一旦有信息来就控制pin的电平输出。 2 问题描述 现在单片机可以实现接受信号再发出触发信号,但有几个问题 1)因为dev1无论设置为发出的是高电平还是低电平,单片机串口显示的都是0。因为dev1的手册没有提供通讯协议内容,我用的波特兰9600监测的。 2)dev1可以设置发出TTL的时间长短,但只能在设置为1s(只能为整数秒)时单片机能收到信号,高于1s就侦测不到信号。 3)从dev1发出信号,到dev2的激光触发,肉眼可见显著的延迟,大概在1.5~2秒之间。因为小弟做的实验对同步要求非常,要到毫秒级别,所以这个问题是最严重的。 3 求助内容 因为小弟没有计算机或者工科背景,对单片机和数字电路知识薄弱,任何有助于我理解该问题现象或者解决该问题的方案或者建议,小弟感激不尽并殷勤献上积分币。谢谢~

串口调试助手可以发送十六进制和字符串,如果发送的命令是ascii怎么办呢,

字符串和ascii是不一样的把,怎么可以让单片机和一个支持串口通信的设备通信,哪个设备只能接收ascii,我用单片机发送给他的时候,应该是什么格式呢,ascii码一位即可,命令是2,3...9就这样的,单个数字

串口助手接收的数据怎么显示在窗体控件上?

![我点击按钮 串口助手接收到数据了,我想把他接收到的值在窗体控件上显示出来, 大神 帮忙解答一下 本人没接触过串口](https://img-ask.csdn.net/upload/201704/13/1492047519_273933.png) 我点击按钮 串口助手接收到数据了,我想把他接收到的值在窗体控件上显示出来, 大神 帮忙解答一下 本人没接触过串口

STM32 串口接收指令无反应。

C#上位机通过串口给STM32发送指令,结果发现发送指令下位机偶尔有反应,大多数情况下没反应,只有多次点击有时会返回一次数据。代码如下 ``` 上位机发送部分 char[] a = new char[1];//设置标志位 a[0] = 'a'; serialPort1.Write(a, 0, 1); ``` STM32处理部分: ``` while(1) { if(USART_GetITStatus(USART1,USART_IT_RXNE)!=Bit_RESET) { UART_data=USART_ReceiveData(USART1);//接收串口数据 if(UART_data=='a')//进行判断 { USART_SendData(USART1,a);//a为之前定义的一个变量 b也是 } if(UART_data=='b') { USART_SendData(USART1,b); } while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET); } } ```

51单片机中的串口通信发送10(16进制)以上显示不正确

串口通信中,向单片机发送数据控制LED灯亮实验中 发01,02、04、08 依次是 第1 2 3 4 个灯亮 而发送 10 就成第5 6 个一起亮了,然后发20 、40 是第7 和 第 8 个; 发 80 就全灭了 , 这是啥情况啊。 #include<reg51.h> unsigned char a,flag; void init(); void main() { init(); while(1) { if(flag == 1) { ES = 0; P0 = a; ES = 1; flag = 0; } } } void init() { TMOD = 0x20; TH1 = 0xfa; TL1 = 0xfa; TR1 = 1; // T1开始工作 REN = 1; //允许串口接收 SM0 = 0; SM1 = 1; //选择串口的工作方式 EA = 1; //中断总开关 ES = 1; // 开串口中断 } void ext() interrupt 4 { RI = 0; a = SBUF; flag = 1; } 今天下午调了一下程序: 发现是波特率的问题: 4800 的 波特率 这样设置就有问题 ![图片说明](https://img-ask.csdn.net/upload/201504/05/1428215125_69022.png) 这样设置就没事。 ![图片说明](https://img-ask.csdn.net/upload/201504/05/1428215097_172620.jpg) 不过为啥是这个情况....

C# Winform 如何发送命令到串口设备中,实现指定的功能。

有一台串口的发卡机,实现在发卡机中进行发卡。 例如 用命令数据格式为"0x02 0x44 0x48 0x03 0x0D 0x05",实现主机请求发卡器发卡至机器读卡位置。 想做一个简单的C# Winform程序,通过发送数据格式的指令("0x02 0x44 0x48 0x03 0x0D 0x05"),实现将发卡机自动发卡,即“主机请求发卡器发卡至机器读卡位置”; 请问,有没有相关的参考资料或DEMO。谢谢!

如何用51单片机串口输出指令对BY8001-16p音乐芯片进行控制

![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267192_98495.jpg) ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267213_53130.png) 线连接为单片机P3.0与BY8001的TX相连,P3.1与BY8001的RX相连,BY8001部分引脚含义如下: ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267305_121779.png) 单片机软件串口及中断设置如下: ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267397_680067.png) 在外总中断函数中发送指令: ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267478_464864.png) 指令数据为BY8001提供,含义为播放音乐 ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267559_584375.png) 这样,当我按下按键引起外部中断时,利用串口助手能正确收到单片机发送的数据指令: ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267631_92105.png) 但BY8001却未播放音乐(无法知道是否收到数据指令,但不播放音乐不是芯片的问题,我用BY8001的I/O口触发,可以正常播放音乐)。 BY8001串口控制数据要求如下,我的问题到底出现在哪里呢? ![图片说明](https://img-ask.csdn.net/upload/201903/22/1553267825_874720.png)

串口给单片机发送数据格式问题!

AA 55 00 01 01 00 00这个指令目前是字符串,我应该怎样处理这个字符串之后发给单片机呢,求大神指点一下!

Windows下串口编程 发送文件给单片机总有数据丢失

``` DWORD WINAPI ThreadWrite(LPVOID lpParameter)//进程1 { char outputData[100];//输出数据缓存 FILE * outfile; char *str = "1234567812345678"; DWORD dwErrorFlags; COMSTAT ComStat; int c = 0; int rc = 0; BOOL bWriteStat; OVERLAPPED m_osWrite; outfile = fopen("E:/ziku/ziku.bin", "rb" ); if( hCom==INVALID_HANDLE_VALUE ) { puts("打开串口失败"); return 0; } DWORD strLength = 0; PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR); while(rc = fread(outputData,sizeof(unsigned char),16,outfile)) { PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR); //清空缓冲区 bWriteStat = WriteFile(hCom,outputData,rc,&strLength,&m_osWrite); // 串口发送字符串 if(!bWriteStat) { if(GetLastError()==ERROR_IO_PENDING) { WaitForSingleObject(m_osWrite.hEvent,10000); } } Sleep(100); } return 0; } ``` 这样写用虚拟串口发送给串口助手时没有问题的,但是发送给单片机数据丢失特别严重望大佬指点。

用单片机写一个接受串口发过来的程序,由于串口可能发的不止一个数据,

肯定要把所有数据都接受,然后显示出来,怎么写才能把所有数据都接受呢

用串口调试助手给单片机以字符串的形式发送数据时,结尾是不默认添加'\0'的

这个你们知道吗?如果我今天才知道,说明什么,你们是通过什么途径知道的,

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

删库了,我们一定要跑路吗?

在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回。 在 mysql 数据库中,我们知道 binlog 日志记录了我们对数据库的所有操作,所以 binlog 日志就是我们自救的利器。 接下来就来开启程序员自救之路。 想要自救成功,binlog 这把利器一定要好,在自己之前,我们一定要确定我们有 binlog 这把利器,以下就是确保有 bi...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐