công cụ tìm kiếm bảng dữ liệu linh kiện điện tử
  Vietnamese  ▼
ALLDATASHEET.VN

X  

UM0851 bảng dữ liệu(PDF) 116 Page - STMicroelectronics

tên linh kiện UM0851
Giải thích chi tiết về linh kiện  SPEAr is a family of highly customizable ARM-based embedded
PDF  245 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
nhà sản xuất  STMICROELECTRONICS [STMicroelectronics]
Trang chủ  http://www.st.com
Logo STMICROELECTRONICS - STMicroelectronics

UM0851 bảng dữ liệu(HTML) 116 Page - STMicroelectronics

Back Button UM0851 Datasheet HTML 112Page - STMicroelectronics UM0851 Datasheet HTML 113Page - STMicroelectronics UM0851 Datasheet HTML 114Page - STMicroelectronics UM0851 Datasheet HTML 115Page - STMicroelectronics UM0851 Datasheet HTML 116Page - STMicroelectronics UM0851 Datasheet HTML 117Page - STMicroelectronics UM0851 Datasheet HTML 118Page - STMicroelectronics UM0851 Datasheet HTML 119Page - STMicroelectronics UM0851 Datasheet HTML 120Page - STMicroelectronics Next Button
Zoom Inzoom in Zoom Outzoom out
 116 / 245 page
background image
Communication device drivers
UM0851
116/245
Doc ID 16604 Rev 2
Once the net_device structure has been initialized, the registration process is completed by
passing the structure to register_hdlcdev().
Open HDLC channels
channel_open() is called if the application opens the HDLC channel. It resets the DMA
buffer ring and starts the DMA engine to begin receiving HDLC frames.
Then it calls net_start_queue() to enable transmitting packages.
Finally it calls hdlc_open() to let Generic HDLC Layer finish the device opening.
int channel_open(net_device *dev)
{
struct channel_t *ch = dev_to_hdlc(dev)->priv;
reset_ring(ch);
/* start DMA */
......
net_start_queue(dev);
return hdlc_open(dev);
}
Close HDLC channels
channel_close() is called if the application closes the HDLC channel. It first calls
net_stop_queue() to stop the transmit queue. Then, it writes the STOP command to the
DMA engine and waits for it to be stopped.
Finally it calls hdlc_close() to let the generic HDLC layer finish the device closing.
int channel_close(net_device *dev)
{
struct channel_t *ch = dev_to_hdlc(dev)->priv;
net_stop_queue(dev);
/* stop DMA */
......
/* wait DMA stopped */
......
return hdlc_close(dev);
}
Xmit over HDLC channels
channel_xmit() is called when there is data ready to be sent out. It will append the buffer to
the transmit buffer ring. And if Tx DMA is not running, it will start Tx DMA to transmit the
package. This function is non-blocked. It doesn't wait the transmitting to be completed.
Transmitting status is checked in bottom half of Tx interrupt handler.
int channel_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct channel_t *ch = dev_to_hdlc(dev)->priv;
if (Tx buffer ring full)
return -EBUSY;



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


bảng dữ liệu tải về

Go To PDF Page


Link URL



Cho đến nay ALLDATASHEET có giúp ích cho doanh nghiệp của bạn hay không?  [ DONATE ] 

Alldatasheet là   |   Quảng cáo   |   Liên lạc với chúng tôi   |   Chính sách bảo mật   |   Liên kết đến bảng dữ liệu    |   Trao đổi link   |   Tìm kiếm theo nhà sản xuất
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com