金牌会员
 
- 积分
- 1073
- 金钱
- 1073
- 注册时间
- 2017-6-10
- 在线时间
- 279 小时
|
1金钱
本帖最后由 rjx007 于 2018-2-8 16:57 编辑
请解释一下下面函数里红色语句的意思,最好详细些,先谢过了!
//在指定位置显示一个字符
//x,y:起始坐标
//num:要显示的字符:" "--->"~"
//size:字体大小 12/16/24
//mode:叠加方式(1)还是非叠加方式(0)
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{
u8 temp,t1,t;
u16 y0=y;
u8 csize=(size/8+((size%8)?1:0))*(size/2); //得到字体一个字符对应点阵集所占的字节数
num=num-' ';//得到偏移后的值(ASCII字库是从空格开始取模,所以-' '就是对应字符的字库)
for(t=0;t<csize;t++)
{ 。。。。。。}
其中((size%8)?1:0)的意思是不是说:如果size是8的整倍数,就取1,如果不是8的整倍数,就取0呢?
|
最佳答案
查看完整内容[请看2#楼]
(size/8+((size%8)?1:0))*(size/2)
如果size被8整除,则(size/8+((size%8)?1:0))等于(size/8),否则为(size/8+1)
此数再乘以右面的(size/2)。
得到最终结果。
知识点, ?:运算符
((条件)? (条件为真则):(条件为假则))
|