毕业后始终家里蹲 琢磨学门技术 苦于门类众多 不知道学什么 最后选了嵌入式内核
果真一个难学 废了数月 方知门在哪 留此笔记方便自己之后复习 示例在尾部
BOOL Webpost::Auth(const CString& gpvlu)
{
BOOL bRet = FALSE;
try
{
httpconnect = sess.GetHttpConnection(auth_server,
(INTERNET_PORT)INTERNET_DEFAULT_HTTPS_PORT);
httpfile = httpconnect->OpenRequest(CHttpConnection::HTTP_VERB_POST, auth_objname,
login_ref, 1, NULL, NULL,
INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_RELOAD);
AddOtherHeader();
CString strQuery;
strQuery.Format(auth_query, gpvlu);
#ifdef _UNICODE
USES_CONVERSION;
LPCSTR lpTemp = W2A((LPCTSTR)strQuery);
#else
LPCSTR lpTemp = (LPCTSTR)strQuery;
#endif
httpfile->SendRequest(NULL, 0, (LPVOID)lpTemp, strlen(lpTemp));
Close();
/*
第01课 高级驱动学习方法
课时1字符设备驱动编写时引起的思考
课时2分层框架和面向对象的思想
课时3高级驱动学习特点和目标
第02课 输入子系统1
课时1输入子系统的作用
课时2输入子系统的框架
课时3最简单的输入设备驱动程序编写
课时4输入子系统中硬件初始化和上报数据
课时5应用程序读取输入设备数据的方式
第03课 输入子系统2
课时1input device的初始化解释
课时2添加input device的信息
课时3设置位表和上报数据的另外一种方式
课时4设备树中定义按键信息的子节点
课时5代码中分析所有的子节点
课时6初始化所有的按键并驱动起来
第04课 输入子系统3
课时1应用程序读取多个按键和驱动代码的结构分析
课时2输入子系统工作逻辑初识
课时3input三层的分析
课时4evdev_connect函数分析
课时5input handler和input device和handle之间的关系
课时6应用是如何调用到输入子系统中去的
第05课 输入子系统4
课时1evdev_open的实现过程
课时2evdev_read读取输入子系统的数据方式
课时3input_event()上报数据的实现过程
课时4evdev_events中填充缓冲区数据的过程
第06课 I2C子系统上
课时1I2C协议和时序讲解
课时2Linux I2C驱动框架
课时3Linux I2C总线和平台总线的结合
课时4Linux I2C从设备的设备树信息的添加
课时5Linux I2C client_driver_adatper_msg等对象的讲解
第07课 I2C子系统下
课时1MPU6050的I2C driver驱动框架编写
课时2MPU6050操作寄存器
课时3读取MPU6050数据寄存器并上报给用户
课时4应用程序读取重力加速度和陀螺仪的值
第08课 设备树(上)
课时1初识设备树
课时2设备树的由来
课时3设备树文件的编译
课时4内核使用dtb文件的过程
课时5节点和属性
课时6常见的属性compatible-reg等
第09课 设备树(下)
课时1在dts中添加新的节点
课时2of解析dts节点的API
课时3代码中获取节点
课时4获取属性
课时5获取属性中的整数数组
课时6获取属性中字符串数组
课时7定义和获取dts中的中断信息
课时8验证dts的中断信息
课时9dts替代平台设备的pdev硬编码方式
*/
httpconnect = sess.GetHttpConnection(gift_server, (INTERNET_PORT)INTERNET_DEFAULT_HTTP_PORT);
httpfile = httpconnect->OpenRequest(CHttpConnection::HTTP_VERB_GET,
_T("/"), NULL, 1, NULL, NULL,
INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_RELOAD);
AddOtherHeader();
httpfile->SendRequest();
//直接对行匹配正则
tregex isLoginFlag(_T("isLoginFlag = \"Y\""));
tsmatch matches;
std::basic_string<TCHAR> strLine;
while(ReadLine(strLine))
{
if(regex_search(strLine, matches, isLoginFlag))
{
bRet = TRUE;
break;
}
}
}
catch(CInternetException* pEx)
{
pEx->Delete();
}
Close();
return bRet;
}
典我货曲
提取:6max

855

被折叠的 条评论
为什么被折叠?



